Rockchip open source Document
mediawiki
http://opensource.rock-chips.com/wiki_Main_Page
MediaWiki 1.28.0
first-letter
Media
Special
Talk
User
User talk
Rockchip open source Document
Rockchip open source Document talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
U-Boot
0
11
70
2017-02-21T06:54:52Z
Admin
1
创建页面,内容为“ *[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Setting_up 1 Setting up] *[http://processors.wiki.ti.com/index.php/Booting_Linux_k...”
wikitext
text/x-wiki
*[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Setting_up 1 Setting up]
*[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Booting 2 Booting]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#SDRAM 2.1 SDRAM]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#SPI_Flash 2.2 SPI Flash]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NAND_Flash_.28ramdisk_as_rootfs.29 2.3 NAND Flash (ramdisk as rootfs)]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NAND_Flash_.28jffs2_image_as_rootfs.29 2.4 NAND Flash (jffs2 image as rootfs)]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NAND_Flash_.28UBIFS_image_as_rootfs.29 2.5 NAND Flash (UBIFS image as rootfs)]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NOR_Flash 2.6 NOR Flash]
**[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#USB_Storage 2.7 USB Storage]
8ce5d7e43d2ac55098a2dcc58bee5bb79ea9077b
Fastboot
0
12
104
2017-02-22T02:47:26Z
Admin
1
创建页面,内容为“ == [[|1.1Fastboot]]主要支持命令 == === [[|1.1.1获取信息]] === {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fas...”
wikitext
text/x-wiki
== [[1.1Fastboot]]主要支持命令 ==
=== [[1.1.1获取信息]] ===
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== 1.1.2 [[镜像烧写]] ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 [[重启]] ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 [[解锁和锁住设备]] ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 [[特殊命令]] ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 [[Fastboot]]解锁 ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
3dd98cb0ef3f862a23e3a5bbd9afa0d87f150d12
Main Page
0
16
133
2017-02-28T08:41:01Z
Admin
1
Created page with " welcome to RK Linux community = (此测试用。) = '''已安装MediaWiki。''' <br/> [http://10.10.10.12:8444/index.php?title=Testcontent test] 入门 ( 此段测..."
wikitext
text/x-wiki
welcome to RK Linux community
= (此测试用。) =
'''已安装MediaWiki。'''
<br/> [http://10.10.10.12:8444/index.php?title=Testcontent test]
入门 ( 此段测试用。)
*[http://10.10.10.12:8444/index.php?title=Testcontent3 MediaWiki配置设置列表]
*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/zh-hans MediaWiki常见问题]
*[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki发布邮件列表]
*[https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 本地化MediaWiki到您的语言]
*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 了解如何在您的wiki上打击破坏]
[http://blog.itpub.net/23718752/viewspace-2133139 .itpub.net/23718752/viewspace-2133139]" title="MySQL误操作数据恢复的简单实践(r11笔记第67天)">MySQL误操作数据恢复的简单实...</a>
= overview =
Welcome to the Rockchip Linux Driver Package Development Guide. It is intended for software engineers to help them understand the RK Linux Driver Package, commonly known as Linux for Rockchip.
= socs and feature =
{| align="left" border="1" cellpadding="1" cellspacing="1"
|-
! scope="col" |
! scope="col" | soc
! scope="col" |
! scope="col" |
! scope="col" |
|-
|
| RV1108
|
|
|
|-
|
| RK1608
|
|
|
|-
|
| RK3188
|
|
|
|-
|
| RK3036
|
|
|
|-
|
| RK3066
|
|
|
|-
|
| RK3288
|
|
|
|-
|
| RK3399
|
|
|
|-
|
| RK3328
|
|
|
|-
|
| RK3228H
|
|
|
|-
|
|
|
|
|
|}
= Getting Started =
*
===== package for starting =====
*
===== reference board preparation =====
*
===== boot options =====
*SPI 接口
*eMMC 接口
*SDMMC 接口
===== Linux Host System Prerequisites =====
*
===== extract RK Linux driver package =====
*
===== tool =====
*
===== flashing the boot loader and kernel =====
*
===== configuration NFS root on the Linux host =====
*
===== getting the kernel sources =====
*
===== building kernel =====
*
===== determining version and platform information =====
*
===== bug reporting =====
= =
= U-Boot Guide =
===== requirements =====
===== tools =====
Boot_merger tool
Resource_tool
Trust_merger tool
===== toolchain =====
platform configuration
system configuration
===== downloading =====
===== building uboot =====
===== Flashing U-Boot =====
===== changing the eMMC partition layout =====
===== testing root filesystem by Device =====
===== <br/> building the device tree compiler =====
===== adding a compiled kernel to the root file system =====
===== =====
= =
= Linux =
Linux distribution
[[Javascript:;|- Linux]]
[http://rockchip.wikidot.com/linux-user-guide Users guide]<br/> [http://rockchip.wikidot.com/rootfs Rootfs overview]<br/>
[[Javascript:;|- Support Packages]]
[http://rockchip.wikidot.com/libmali libmali]<br/> [http://rockchip.wikidot.com/xserver xserver]<br/> [http://rockchip.wikidot.com/adb adb]<br/> [http://rockchip.wikidot.com/rockchip-va-driver rockchip-va-driver]<br/> [http://rockchip.wikidot.com/libvdpau-rockchip libvdpau-rockchip]
[[Javascript:;|- Develop]]
[http://rockchip.wikidot.com/partitions Partitions]<br/> [http://rockchip.wikidot.com/cross-compile App Cross Compile]<br/> [http://rockchip.wikidot.com/update Upgrade Firmware]
===== changelog =====
= kernel =
[[Javascript:;|- Quick Start]]
[http://rockchip.wikidot.com/build-kernel Build Kernel]<br/> [http://rockchip.wikidot.com/howto-kernel Develop-Tips]
[[Javascript:;|- Display]]
[http://rockchip.wikidot.com/lvds LVDS]<br/> [http://rockchip.wikidot.com/mipi MIPI-DSI]<br/> [http://rockchip.wikidot.com/edp eDP]<br/> [http://rockchip.wikidot.com/hdmi HDMI]<br/> [http://rockchip.wikidot.com/hdcp HDCP]<br/> [http://rockchip.wikidot.com/dp Display Port]
[[Javascript:;|- USB]]
[http://rockchip.wikidot.com/usb USB OTG]<br/> [http://rockchip.wikidot.com/usb USB Host]<br/> [http://rockchip.wikidot.com/usb USB Type C]
[[Javascript:;|- Storage]]
[http://rockchip.wikidot.com/nand Nand]<br/> [http://rockchip.wikidot.com/emmc eMMC]<br/> [http://rockchip.wikidot.com/sdcard SD CARD]
[[Javascript:;|- Audio]]
[http://rockchip.wikidot.com/HDMI-AUDIO HDMI-AUDIO]<br/> [http://rockchip.wikidot.com/i2s I2S]<br/> [http://rockchip.wikidot.com/spdif SPDIF]
[[Javascript:;|- Connectivity]]
[http://rockchip.wikidot.com/sdio SDIO]<br/> [http://rockchip.wikidot.com/pcie PCIe]<br/> [http://rockchip.wikidot.com/ethernet Ethernet]
[[Javascript:;|- Graphics]]
[http://rockchip.wikidot.com/rga RGA]<br/> [http://rockchip.wikidot.com/gpu GPU]
[[Javascript:;|- Video]]
[http://rockchip.wikidot.com/mipicsi MIPI-CSI]<br/> [http://rockchip.wikidot.com/v4l2 V4L2]
[[Javascript:;|- Power]]
[http://rockchip.wikidot.com/power-manage Sleep]<br/> [http://rockchip.wikidot.com/cpu-dvfs CPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs GPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs DDR DVFS]
[[Javascript:;|- Other]]
[http://rockchip.wikidot.com/pwm PWM]<br/> [http://rockchip.wikidot.com/i2c I2C]<br/> [http://rockchip.wikidot.com/spi SPI]<br/> [http://rockchip.wikidot.com/uart UART]<br/> [http://rockchip.wikidot.com/saradc SAR-ADC]<br/> [http://rockchip.wikidot.com/tsadc TS-ADC]<br/> [http://rockchip.wikidot.com/watchdog WatchDog]
= =
= howto =
</div>
== development ==
jtag
= referencelinks =
[http://rockchip.wikidot.com/ http://rockchip.wikidot.com/]
= FAQ =
this part will list some q
= glossary =
= license =
= 下载 =
[[DDR_support_list|DDR support list]] [http://10.10.10.12:8444/index.php?title=特殊:文件列表 http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf]
nand emmc 支持列表
chip roadmap
= community =
text
6c93a86d8a24dd9e483d9f5a0bcb749772556f3b
134
133
2017-02-28T08:46:22Z
Kever
2
wikitext
text/x-wiki
welcome to RK Linux community
= (此测试用。) =
'''已安装MediaWiki。'''
<br/> [http://10.10.10.12:8444/index.php?title=Testcontent test]
入门 ( 此段测试用。)
*[http://10.10.10.12:8444/index.php?title=Testcontent3 MediaWiki配置设置列表]
*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/zh-hans MediaWiki常见问题]
*[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki发布邮件列表]
*[https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 本地化MediaWiki到您的语言]
*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 了解如何在您的wiki上打击破坏]
[http://blog.itpub.net/23718752/viewspace-2133139 .itpub.net/23718752/viewspace-2133139]" title="MySQL误操作数据恢复的简单实践(r11笔记第67天)">MySQL误操作数据恢复的简单实...</a>
= overview =
Welcome to the Rockchip Linux Driver Package Development Guide. It is intended for software engineers to help them understand the RK Linux Driver Package, commonly known as Linux for Rockchip.
= socs and feature =
{| align="left" border="1" cellpadding="1" cellspacing="1"
|-
! scope="col" |
! scope="col" | soc
! scope="col" |
! scope="col" |
! scope="col" |
|-
|
| RV1108
|
|
|
|-
|
| RK1608
|
|
|
|-
|
| RK3188
|
|
|
|-
|
| RK3036
|
|
|
|-
|
| RK3066
|
|
|
|-
|
| RK3288
|
|
|
|-
|
| RK3399
|
|
|
|-
|
| RK3328
|
|
|
|-
|
| RK3228H
|
|
|
|-
|
|
|
|
|
|}
= Getting Started =
*
===== package for starting =====
*
reference board preparation
*
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ hello world</div>
===== boot options =====
*SPI 接口
*eMMC 接口
*SDMMC 接口
===== Linux Host System Prerequisites =====
*
===== extract RK Linux driver package =====
*
===== tool =====
*
===== flashing the boot loader and kernel =====
*
===== configuration NFS root on the Linux host =====
*
===== getting the kernel sources =====
*
===== building kernel =====
*
===== determining version and platform information =====
*
===== bug reporting =====
= =
= U-Boot Guide =
===== requirements =====
===== tools =====
Boot_merger tool
Resource_tool
Trust_merger tool
===== toolchain =====
platform configuration
system configuration
===== downloading =====
===== building uboot =====
===== Flashing U-Boot =====
===== changing the eMMC partition layout =====
===== testing root filesystem by Device =====
===== <br/> building the device tree compiler =====
===== adding a compiled kernel to the root file system =====
===== =====
= =
= Linux =
Linux distribution
[[Javascript:;|- Linux]]
[http://rockchip.wikidot.com/linux-user-guide Users guide]<br/> [http://rockchip.wikidot.com/rootfs Rootfs overview]<br/>
[[Javascript:;|- Support Packages]]
[http://rockchip.wikidot.com/libmali libmali]<br/> [http://rockchip.wikidot.com/xserver xserver]<br/> [http://rockchip.wikidot.com/adb adb]<br/> [http://rockchip.wikidot.com/rockchip-va-driver rockchip-va-driver]<br/> [http://rockchip.wikidot.com/libvdpau-rockchip libvdpau-rockchip]
[[Javascript:;|- Develop]]
[http://rockchip.wikidot.com/partitions Partitions]<br/> [http://rockchip.wikidot.com/cross-compile App Cross Compile]<br/> [http://rockchip.wikidot.com/update Upgrade Firmware]
===== changelog =====
= kernel =
[[Javascript:;|- Quick Start]]
[http://rockchip.wikidot.com/build-kernel Build Kernel]<br/> [http://rockchip.wikidot.com/howto-kernel Develop-Tips]
[[Javascript:;|- Display]]
[http://rockchip.wikidot.com/lvds LVDS]<br/> [http://rockchip.wikidot.com/mipi MIPI-DSI]<br/> [http://rockchip.wikidot.com/edp eDP]<br/> [http://rockchip.wikidot.com/hdmi HDMI]<br/> [http://rockchip.wikidot.com/hdcp HDCP]<br/> [http://rockchip.wikidot.com/dp Display Port]
[[Javascript:;|- USB]]
[http://rockchip.wikidot.com/usb USB OTG]<br/> [http://rockchip.wikidot.com/usb USB Host]<br/> [http://rockchip.wikidot.com/usb USB Type C]
[[Javascript:;|- Storage]]
[http://rockchip.wikidot.com/nand Nand]<br/> [http://rockchip.wikidot.com/emmc eMMC]<br/> [http://rockchip.wikidot.com/sdcard SD CARD]
[[Javascript:;|- Audio]]
[http://rockchip.wikidot.com/HDMI-AUDIO HDMI-AUDIO]<br/> [http://rockchip.wikidot.com/i2s I2S]<br/> [http://rockchip.wikidot.com/spdif SPDIF]
[[Javascript:;|- Connectivity]]
[http://rockchip.wikidot.com/sdio SDIO]<br/> [http://rockchip.wikidot.com/pcie PCIe]<br/> [http://rockchip.wikidot.com/ethernet Ethernet]
[[Javascript:;|- Graphics]]
[http://rockchip.wikidot.com/rga RGA]<br/> [http://rockchip.wikidot.com/gpu GPU]
[[Javascript:;|- Video]]
[http://rockchip.wikidot.com/mipicsi MIPI-CSI]<br/> [http://rockchip.wikidot.com/v4l2 V4L2]
[[Javascript:;|- Power]]
[http://rockchip.wikidot.com/power-manage Sleep]<br/> [http://rockchip.wikidot.com/cpu-dvfs CPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs GPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs DDR DVFS]
[[Javascript:;|- Other]]
[http://rockchip.wikidot.com/pwm PWM]<br/> [http://rockchip.wikidot.com/i2c I2C]<br/> [http://rockchip.wikidot.com/spi SPI]<br/> [http://rockchip.wikidot.com/uart UART]<br/> [http://rockchip.wikidot.com/saradc SAR-ADC]<br/> [http://rockchip.wikidot.com/tsadc TS-ADC]<br/> [http://rockchip.wikidot.com/watchdog WatchDog]
= =
= howto =
</div>
== development ==
jtag
= referencelinks =
[http://rockchip.wikidot.com/ http://rockchip.wikidot.com/]
= FAQ =
this part will list some q
= glossary =
= license =
= 下载 =
[[DDR_support_list|DDR support list]] [http://10.10.10.12:8444/index.php?title=特殊:文件列表 http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf]
nand emmc 支持列表
chip roadmap
= community =
text
a7e01e54bb151b552a41c830587894261fdbf9a6
135
134
2017-03-01T01:15:29Z
Admin
1
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" |
SoC
| style="width:286px;" |
Description
| style="width:189px;" |
Download
|-
| style="width:92px;" |
RK3288
| style="width:286px;" |
Quad-core Cortex-A17
| style="width:189px;" |
TRM, Datasheet,Schematic
|-
| style="width:92px;" |
RK3328
| style="width:286px;" |
Quad-core Cortex-A53
| style="width:189px;" |
TRM, Datasheet,Schematic
|-
| style="width:92px;" |
RK3399
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53
| style="width:189px;" |
TRM, Datasheet,Schematic
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
Debian(链接到对应二级目录)
Yocto(链接到对应二级目录)
Buildroot(链接到对应二级目录)
*''' BSP module user guide'''
Rockchip U-Boot (链到二级 rockchip-uboot页面)
Rockchip Kernel (链到二级 rockchip-kernel页面)
Upstream U-Boot (链到二级 upstream-uboot页面)
Upstream Kernel (链到二级 upstream-kernel页面)
Upstream ATF (链到二级 upstream-atf页面)
*''' Graphic and Video module user guide'''
GPU-MALI400/450(链接到对应二级目录) (waylane和X11是否需要分开?)
GPU-T760
GPU-T860
Gstreamer
MPP
*'''Tool and Firmware Upgrade'''
Rockusb(链接到对应二级目录)
Rkdevelptool
60bc40ab50a3563cc43d1369ce7e7abfd78f6769
136
135
2017-03-01T01:27:39Z
Admin
1
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" |
SoC
| style="width:286px;" |
Description
| style="width:189px;" |
Download
|-
| style="width:92px;" |
RK3288
| style="width:286px;" |
Quad-core Cortex-A17
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet]],[[Schematic]]
|-
| style="width:92px;" |
RK3328
| style="width:286px;" |
Quad-core Cortex-A53
| style="width:189px;" |
[[TRM]], [[Datasheet]],[[Schematic]]
|-
| style="width:92px;" |
RK3399
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53
| style="width:189px;" |
[[TRM]], [[Datasheet]],[[Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian]](链接到对应二级目录)
[[Yocto]](链接到对应二级目录)
[[Buildroot]](链接到对应二级目录)
*''' BSP module user guide'''
[[Rockchip_U-Boot]] (链到二级 rockchip-uboot页面)
[[Rockchip_Kernel]] (链到二级 rockchip-kernel页面)
[[Upstream_U-Boot|Upstream U-Boot ]](链到二级 upstream-uboot页面)
[[Upstream_Kernel]] (链到二级 upstream-kernel页面)
[[Upstream_ATF]] (链到二级 upstream-atf页面)
*''' Graphic and Video module user guide'''
[[GPU-MALI400/450]](链接到对应二级目录) (waylane和X11是否需要分开?)
[[GPU-T760]]
[[GPU-T860]]
[[Gstreamer]]
[[MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb]](链接到对应二级目录)
[[Rkdevelptool]]
682cb2f269a1b9fd1ebecd117c8308ee4d543f1c
137
136
2017-03-01T06:50:53Z
Kever
2
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" |
SoC
| style="width:286px;" |
Description
| style="width:189px;" |
Download
|-
| style="width:92px;" |
RK3288
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" |
RK3328
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" |
RK3399
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian]](链接到对应二级目录)
[[Yocto]](链接到对应二级目录)
[[Buildroot]](链接到对应二级目录)
*''' BSP module user guide'''
[[Rockchip_U-Boot]] (链到二级 rockchip-uboot页面)
[[Rockchip_Kernel]] (链到二级 rockchip-kernel页面)
[[Upstream_U-Boot|Upstream U-Boot ]](链到二级 upstream-uboot页面)
[[Upstream_Kernel]] (链到二级 upstream-kernel页面)
[[Upstream_ATF]] (链到二级 upstream-atf页面)
*''' Graphic and Video module user guide'''
[[GPU-MALI400/450]](链接到对应二级目录) (waylane和X11是否需要分开?)
[[GPU-T760]]
[[GPU-T860]]
[[Gstreamer]]
[[MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb]](链接到对应二级目录)
[[Rkdevelptool]]
982cc53632fc8783d3c05cd030962177ff7dae86
138
137
2017-03-01T09:07:45Z
Kever
2
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" |
SoC
| style="width:286px;" |
Description
| style="width:189px;" |
Download
|-
| style="width:92px;" |
RK3288
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" |
RK3328
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" |
RK3399
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
9ad62c018d1fa36c620b80f6a4f3f8e281f84918
139
138
2017-03-01T09:08:35Z
Kever
2
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">RK3288</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">RK3328</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">RK3399</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
9838cf48f5fb29a9d16f6c826eee18aeeac4120b
141
139
2017-03-01T09:23:31Z
Admin
1
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">RK3288</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">RK3328</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">RK3399</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
b50bb36284ecb34b2fb05061ca429a0dd50fe89c
144
141
2017-03-01T10:07:05Z
Kever
2
wikitext
text/x-wiki
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
bfb1a94ce3ccfe9b9c953f91bf32a4d57e237f15
Upstream Kernel
0
19
143
2017-03-01T10:03:08Z
Kever
2
Created page with " Rockchip is woring on upstream SoC support to Mainline kernel: https://www.kernel.org/ SoC support including: RK3036, RK3066, RK3188, RK3288, RK3368, RK3399"
wikitext
text/x-wiki
Rockchip is woring on upstream SoC support to Mainline kernel:
https://www.kernel.org/
SoC support including:
RK3036, RK3066, RK3188, RK3288, RK3368, RK3399
7d83f17733606680a57ade4c9adfa2f85485c995
RK3288
0
20
145
2017-03-01T10:07:47Z
Kever
2
Created page with " = Overview = A31 powered by 4 CPU and 8 GPU (Power VR SGX544 for Ployer and Power VR SGX544MP2 for Onda). A31 Graph A31 CPU architecture consists of quad ARM Cortex-A7..."
wikitext
text/x-wiki
= Overview =
A31 powered by 4 CPU and 8 GPU (Power VR SGX544 for Ployer and Power VR SGX544MP2 for Onda).
A31 Graph
A31 CPU architecture consists of quad ARM Cortex-A7 cores to deliver decent computing capability while consuming less power, and integrates the PowerVR SGX544 GPU. It also features [http://linux-sunxi.org/Cedar_Engine Cedar Engine] multimedia processing unit that is capable of up to 2160p (3840x1080@30fps 4k resolution or 1080p 3D decoding) video decoding, with integrated HDMI 1.4 output support, and H.264 HP (High Profile) in 1080p at 30fps video encoding.
Proper Linux support now difficult for A31 due to the [http://linux-sunxi.org/Power_VR Power VR] GPU, though; however, its kernel source is available[http://git.rhombus-tech.net/linux [1]] now and also for U-boot[http://git.rhombus-tech.net/?p=u-boot.git;a=tree;h=refs/heads/allwinner-sunxi-a31;hb=refs/heads/allwinner-sunxi-a31 [2]].
== Cortex-A7 ==
Cortex-A7 is 100% ISA compatible with the Cortex-A15, this includes the new virtualization instructions, integer divide support and 40-bit memory addressing. Any code running on an A15 can run on a Cortex A7, just slower. This is a very important feature as it enables SoC vendors to build chips with both Cortex A7 and Cortex A15 cores, switching between them depending on workload requirements. ARM calls this a big.LITTLE configuration.<sup id="cite_ref-2">[http://linux-sunxi.org/A31#cite_note-2 [2]]</sup><sup id="cite_ref-3">[http://linux-sunxi.org/A31#cite_note-3 [3]]</sup><sup id="cite_ref-4">[http://linux-sunxi.org/A31#cite_note-4 [4]]</sup>
== A31s ==
The A31s is the same die as the A31 in a different package. In terms of hardware specification and functionality they are identical.
= A31 SoC Features =
*CPU:
**ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3])
**256KB L1-Cache
**1MB L2-Cache
*GPU:
**[http://linux-sunxi.org/Power_VR Power VR] SGX 544
**Eight logic cores (8 shader engines)
**Comply with Open GL ES2.0, Open CL1.x, DX 9_3
*Video:
**UHD H.264 4K ×2K @30fps video decoding
**Full HD video decoding
**BD Directory, BD ISO and BD m2ts video decoding
**H.264 High Profile 1080P@60fps encoding
**3840x1080@30fps 3D decoding
**Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol
*Display:
**Dual-Channel LVDS 1920 ×1080@60fps
**4-lane MIPI DSI 1920 × 1200@ 60fps
**Dual-Channel RGB/CPU 2048 ×1536@60fps
**Integrated HDMI 1.4 4K ×2K@ 30fps
*Camera:
**Integrated Parallel & MIPI I/F sensor
**Integrated Powerful ISP, supporting Raw Data CMOS sensor
**5M/8M/12M CMOS Sensor supported
**8/10/12-bit RGB Bayer sensor supported
*Memory:
**Dual-Channel LPDDR2/DDR3/DDR3L Controller
**Dual-Channel NAND FLASH Controller
**64-bit ECC
*PMIC:
**A31exclusively tailor-made PMIC [http://linux-sunxi.org/AXP221 AXP221]
**21-CH power output and 2.2A Flash charging
**Comply with USB 3.0 power supply standard
*Embedded Controller:
**[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes.
*Audio:
**Integrated HI-FI 100dB Audio Codec
**Three MIC
**One MIC with Noise cancellation
*OS:
**Support Android 4.2 or up
**Support Microsoft Windows 8
520f36281a24758507bf9c5c70b79e84126ce6bd
177
145
2017-03-06T03:04:57Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer extendable, leading performance,long-standing heritage which integrated Quad-core Cortex-A17, , ideally suited for <br/> the tablet,box and chromebook. SK hynix 8Gb <br/> DDR4 SDRAMs offer fully synchronous operations referenced to both rising and falling edges of the clock. <br/> While all addresses and control inputs are latched on the rising edges of the CK (falling edges of the CK), <br/> Data, Data strobes and Write data masks inputs are sampled on both rising and falling edges of it. The <br/> data paths are internally pipelined and 8-bit prefetched to achieve very high bandwidth.
= A31 SoC Features =
*CPU:
**ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3])
**256KB L1-Cache
**1MB L2-Cache
*GPU:
**[http://linux-sunxi.org/Power_VR Power VR] SGX 544
**Eight logic cores (8 shader engines)
**Comply with Open GL ES2.0, Open CL1.x, DX 9_3
*Video:
**UHD H.264 4K ×2K @30fps video decoding
**Full HD video decoding
**BD Directory, BD ISO and BD m2ts video decoding
**H.264 High Profile 1080P@60fps encoding
**3840x1080@30fps 3D decoding
**Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol
*Display:
**Dual-Channel LVDS 1920 ×1080@60fps
**4-lane MIPI DSI 1920 × 1200@ 60fps
**Dual-Channel RGB/CPU 2048 ×1536@60fps
**Integrated HDMI 1.4 4K ×2K@ 30fps
*Camera:
**Integrated Parallel & MIPI I/F sensor
**Integrated Powerful ISP, supporting Raw Data CMOS sensor
**5M/8M/12M CMOS Sensor supported
**8/10/12-bit RGB Bayer sensor supported
*Memory:
**Dual-Channel LPDDR2/DDR3/DDR3L Controller
**Dual-Channel NAND FLASH Controller
**64-bit ECC
*PMIC:
**A31exclusively tailor-made PMIC [http://linux-sunxi.org/AXP221 AXP221]
**21-CH power output and 2.2A Flash charging
**Comply with USB 3.0 power supply standard
*Embedded Controller:
**[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes.
*Audio:
**Integrated HI-FI 100dB Audio Codec
**Three MIC
**One MIC with Noise cancellation
*OS:
**Support Android 4.2 or up
**Support Microsoft Windows 8
b3e4f5e81564d9c2a0dfe22fd6d09cc5fce4972b
178
177
2017-03-06T03:51:49Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.
are optimal for applications such as imaging/video, communication and broadband infrastructure, industrial, medical, test and measurement, high-end computing, and performance audio applications. Quite simply, TI offers a vast assortment of floating/fixed point single core and options that address the most mission critical design challenges to the most cost or power-sensitive application needs.
SK hynix 8Gb DDR4 SDRAMs offer fully synchronous operations referenced to both rising and falling edges of the clock. <br/> While all addresses and control inputs are latched on the rising edges of the CK (falling edges of the CK), <br/> Data, Data strobes and Write data masks inputs are sampled on both rising and falling edges of it. The <br/> data paths are internally pipelined and 8-bit prefetched to achieve very high bandwidth.
= A31 SoC Features =
*CPU:
**ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3])
**256KB L1-Cache
**1MB L2-Cache
*GPU:
**[http://linux-sunxi.org/Power_VR Power VR] SGX 544
**Eight logic cores (8 shader engines)
**Comply with Open GL ES2.0, Open CL1.x, DX 9_3
*Video:
**UHD H.264 4K ×2K @30fps video decoding
**Full HD video decoding
**BD Directory, BD ISO and BD m2ts video decoding
**H.264 High Profile 1080P@60fps encoding
**3840x1080@30fps 3D decoding
**Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol
*Display:
**Dual-Channel LVDS 1920 ×1080@60fps
**4-lane MIPI DSI 1920 × 1200@ 60fps
**Dual-Channel RGB/CPU 2048 ×1536@60fps
**Integrated HDMI 1.4 4K ×2K@ 30fps
*Camera:
**Integrated Parallel & MIPI I/F sensor
**Integrated Powerful ISP, supporting Raw Data CMOS sensor
**5M/8M/12M CMOS Sensor supported
**8/10/12-bit RGB Bayer sensor supported
*Memory:
**Dual-Channel LPDDR2/DDR3/DDR3L Controller
**Dual-Channel NAND FLASH Controller
**64-bit ECC
*PMIC:
**A31exclusively tailor-made PMIC [http://linux-sunxi.org/AXP221 AXP221]
**21-CH power output and 2.2A Flash charging
**Comply with USB 3.0 power supply standard
*Embedded Controller:
**[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes.
*Audio:
**Integrated HI-FI 100dB Audio Codec
**Three MIC
**One MIC with Noise cancellation
*OS:
**Support Android 4.2 or up
**Support Microsoft Windows 8
18f1e74f52f5f49b479e87489f1d96cf5cca7753
179
178
2017-03-06T03:59:06Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a hacker friendly platform. Futhermore,it cost low()
are optimal for applications such as imaging/video, communication and broadband infrastructure, industrial, medical, test and measurement, high-end computing, and performance audio applications. Quite simply, TI offers a vast assortment of floating/fixed point single core and options that address the most mission critical design challenges to the most cost or power-sensitive application needs.
offer fully synchronous operations referenced to <br/> While all addresses and control inputs are latched on the rising edges of the CK (falling edges of the CK), <br/> Data, Data strobes and Write data masks inputs are sampled on both rising and falling edges of it. The <br/> data paths are internally pipelined and 8-bit prefetched to achieve very high bandwidth.
= A31 SoC Features =
*CPU:
**ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3])
**256KB L1-Cache
**1MB L2-Cache
*GPU:
**[http://linux-sunxi.org/Power_VR Power VR] SGX 544
**Eight logic cores (8 shader engines)
**Comply with Open GL ES2.0, Open CL1.x, DX 9_3
*Video:
**UHD H.264 4K ×2K @30fps video decoding
**Full HD video decoding
**BD Directory, BD ISO and BD m2ts video decoding
**H.264 High Profile 1080P@60fps encoding
**3840x1080@30fps 3D decoding
**Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol
*Display:
**Dual-Channel LVDS 1920 ×1080@60fps
**4-lane MIPI DSI 1920 × 1200@ 60fps
**Dual-Channel RGB/CPU 2048 ×1536@60fps
**Integrated HDMI 1.4 4K ×2K@ 30fps
*Camera:
**Integrated Parallel & MIPI I/F sensor
**Integrated Powerful ISP, supporting Raw Data CMOS sensor
**5M/8M/12M CMOS Sensor supported
**8/10/12-bit RGB Bayer sensor supported
*Memory:
**Dual-Channel LPDDR2/DDR3/DDR3L Controller
**Dual-Channel NAND FLASH Controller
**64-bit ECC
*PMIC:
**A31exclusively tailor-made PMIC [http://linux-sunxi.org/AXP221 AXP221]
**21-CH power output and 2.2A Flash charging
**Comply with USB 3.0 power supply standard
*Embedded Controller:
**[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes.
*Audio:
**Integrated HI-FI 100dB Audio Codec
**Three MIC
**One MIC with Noise cancellation
*OS:
**Support Android 4.2 or up
**Support Microsoft Windows 8
6bfed29641d731a7b5206ec72e98b500d7bf19d4
181
179
2017-03-06T11:27:31Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= A31 SoC Features =
*CPU:
**ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3])
**256KB L1-Cache
**1MB L2-Cache
*GPU:
**[http://linux-sunxi.org/Power_VR Power VR] SGX 544
**Eight logic cores (8 shader engines)
**Comply with Open GL ES2.0, Open CL1.x, DX 9_3
*Video:
**UHD H.264 4K ×2K @30fps video decoding
**Full HD video decoding
**BD Directory, BD ISO and BD m2ts video decoding
**H.264 High Profile 1080P@60fps encoding
**3840x1080@30fps 3D decoding
**Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol
*Display:
**Dual-Channel LVDS 1920 ×1080@60fps
**4-lane MIPI DSI 1920 × 1200@ 60fps
**Dual-Channel RGB/CPU 2048 ×1536@60fps
**Integrated HDMI 1.4 4K ×2K@ 30fps
*Camera:
**Integrated Parallel & MIPI I/F sensor
**Integrated Powerful ISP, supporting Raw Data CMOS sensor
**5M/8M/12M CMOS Sensor supported
**8/10/12-bit RGB Bayer sensor supported
*Memory:
**Dual-Channel LPDDR2/DDR3/DDR3L Controller
**Dual-Channel NAND FLASH Controller
**64-bit ECC
*PMIC:
**A31exclusively tailor-made PMIC [http://linux-sunxi.org/AXP221 AXP221]
**21-CH power output and 2.2A Flash charging
**Comply with USB 3.0 power supply standard
*Embedded Controller:
**[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes.
*Audio:
**Integrated HI-FI 100dB Audio Codec
**Three MIC
**One MIC with Noise cancellation
*OS:
**Support Android 4.2 or up
**Support Microsoft Windows 8
f386f8a51f22baa4674b62dad1a105941fbe0212
182
181
2017-03-06T12:23:54Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
77a7b0018277597ee7187aa2d355dae3faaeded7
RK3399
0
21
146
2017-03-02T10:08:19Z
Chery
9
Created page with "= Overview = == Cortex-A7 == = SoC Features = = History = = Documentation = = Software = == Original SDKs == = Devices = = See also = = Owners..."
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Original SDKs ==
= Devices =
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
51e447da58df3871c3e1014ff2c4a0f7352dd45c
147
146
2017-03-03T02:12:48Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync</code>
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
6b83607fbd1a2fa524bd2bf5de9ecbfbf2a737ad
148
147
2017-03-03T02:17:39Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync</code>
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre><code>Telephone: 4007700590 Email: service@rock-chips.com</code></pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7a85a1348e08fad6e46c215192b8c9693a8800a7
149
148
2017-03-03T02:18:13Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync</code>
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
996fd8e7e7c5589e15f80ecbfb8d3caaa60c8d32
150
149
2017-03-03T02:18:45Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync</code>
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
32a468f997bcda1d25dfc0805df09b5b1c2ed518
151
150
2017-03-03T02:19:06Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync</code>
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
ebd307ecee908045122481b856216398665bb88e
152
151
2017-03-03T02:19:48Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync</code>
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7a1504ae22c7556805f40bb75c4fae089e11f7c5
153
152
2017-03-03T02:20:11Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{|
|-
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span>
! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span>
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig && evb-rk3399_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
9c1793f116000a024e2299b36a4a8eedc45caba5
154
153
2017-03-03T02:24:17Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
Please use GCC 5
<pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</pre>
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
c71e6a7573da73eb2e2265889a5242777c60dd9a
155
154
2017-03-03T02:33:05Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \ libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
f0e3771d252bd03757c67b5076662285709da9da
157
155
2017-03-03T03:17:31Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7cb2e7116a7d2e8dee7967b15cdb774e0f01586a
160
157
2017-03-03T06:55:57Z
Kevan
10
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000 or 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
f6dce6156945374a886dbf2e3fa58e70594d7614
161
160
2017-03-03T06:56:45Z
Kevan
10
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
d30114f96ac6cd545c78c7ed2322892b3b598f8c
162
161
2017-03-03T06:57:26Z
Kevan
10
wikitext
text/x-wiki
= Overview =
== Cortex-A7 ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7b3a813f1617eba345887f2c5dfbb54a5c4d112c
163
162
2017-03-03T07:50:45Z
Kevan
10
wikitext
text/x-wiki
= Overview =
== RK3399 is a low power, high performance processor for mobile phones, personal mobile<br/> internet device and other digital multimedia applications, and integrates dual-core<br/> Cortex-A72 and quad-core Cortex-A53 with separately NEON coprocessor ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
83637d34b2c71c98ecc1f004add61dfb119f779f
164
163
2017-03-03T07:52:11Z
Kevan
10
wikitext
text/x-wiki
= Overview =
== Cortex-A72 ==
== RK3399 is a low power, high performance processor for mobile phones, personal mobile<br/> internet device and other digital multimedia applications, and integrates dual-core<br/> Cortex-A72 and quad-core Cortex-A53 with separately NEON coprocessor ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
416dfccba4e4ae55b8ac46713eb347a30d8c3bad
165
164
2017-03-03T07:53:39Z
Kevan
10
wikitext
text/x-wiki
= Overview =
== Cortex-A72 ==
== ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please go through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
176407b8a81311e7b76d2deb6a7806f0a6ca0f94
173
165
2017-03-03T09:44:24Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A72 ==
== ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span>
| style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span>
| style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span>
| style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span>
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
d2c7e97d2e29163ed4aa36f65dc217dc201c0843
175
173
2017-03-03T09:57:44Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A72 ==
== ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{|
|-
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span>
! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span>
|-
| style="text-align: center;" | RK3399
| style="text-align: center;" | 1
| style="text-align: center;" | 0
| style="text-align: center;" | 0
| style="text-align: center;" | 1
| style="text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
a2b7785f5622d7fa2d1fc0bae1475b6965d793ae
176
175
2017-03-03T10:05:41Z
Chery
9
wikitext
text/x-wiki
= Overview =
== Cortex-A72 ==
== ==
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
5974608f42a0f39f50f579aafb8912b202f08f16
180
176
2017-03-06T09:17:51Z
Chery
9
wikitext
text/x-wiki
= Overview =
= SoC Features =
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
108f5de2bf6bc5797156649cd0023422b5d0aa15
183
180
2017-03-06T12:33:00Z
Admin
1
wikitext
text/x-wiki
= Overview =
= SoC Features =
*CPU:
**Dual-core ARM Cortex-A72 MPCore and Quad-core ARM Cortex-A53 MPCore
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
e43678c248810d064744445e0cfeda99433db0e5
Talk:Debian
1
23
158
2017-03-03T03:23:16Z
Jacob
6
Created page with " debian的guide我一直是弄成一步一步来的那种,就是一个指令一个指令的输入,build kernel build uboot build rootfs,烧uboot,做gpt,烧rootfs,..."
wikitext
text/x-wiki
debian的guide我一直是弄成一步一步来的那种,就是一个指令一个指令的输入,build kernel build uboot build rootfs,烧uboot,做gpt,烧rootfs,每步都列出来
可以借此让用debian的人熟悉我们每个的步骤,少问点问题,可以知道自己哪里错了。。
因为用debian主要的几个场景还是给community user爱好者以及第一次是使用rk linux的customer评估用,后面基于这个开发也不太需要集成脚本之类的,从我们现在工程师的使用来看,因为debian apt东西比较方便,大家的烧image都是自己有自己的方法,比如ssh,比如串口,比如ums。。。
f3f4ce0df9e1311b43fd760f31fc6684d9e902e5
159
158
2017-03-03T03:25:18Z
Jacob
6
wikitext
text/x-wiki
debian的guide我一直是弄成一步一步来的那种,就是一个指令一个指令的输入,build kernel build uboot build rootfs,烧uboot,做gpt,烧rootfs,每步都列出来
可以借此让用debian的人熟悉我们每个的步骤,少问点问题,可以知道自己哪里错了。。
因为用debian主要的几个场景还是给community user爱好者以及第一次是使用rk linux的customer评估用,后面基于这个开发也不太需要集成脚本之类的,从我们现在工程师的使用来看,因为debian apt东西比较方便,大家的烧image都是自己有自己的方法,比如ssh,比如串口,比如ums。。。
这里主要的问题主要是rk-uboot和upstream-uboot的一些方法要分开写,我这里先写upstream uboot的,二部看一下写rk-uboot的
6ce401b24a92974dc9edd3c68df50d5025937705
RK3328
0
24
166
2017-03-03T08:33:49Z
Admin
1
Created page with " = Overview ="
wikitext
text/x-wiki
= Overview =
e565917e597336d73068b5a002c04af440d70aec
167
166
2017-03-03T08:35:43Z
Admin
1
wikitext
text/x-wiki
= Overview =
= Cortex-A53 =
dd6f4329b52b87dcb74c8f6c301f398a19d1c838
168
167
2017-03-03T08:35:55Z
Admin
1
wikitext
text/x-wiki
= Overview =
= Cortex-A53 =
27875b6de5f87f6d5ddad35a38aaa411e2da738b
169
168
2017-03-03T09:15:46Z
Admin
1
wikitext
text/x-wiki
= Overview =
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
ceec8b7e3d6185fab2f771b9934d6f8f84206554
170
169
2017-03-03T09:18:42Z
Admin
1
wikitext
text/x-wiki
= Overview =
= =
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
8599a85908c45bf2f110d11d10cd792856ffa89c
171
170
2017-03-03T09:19:11Z
Admin
1
wikitext
text/x-wiki
= Overview =
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
367e5549db6ae2ad155fa6a43ebee99b179ea812
172
171
2017-03-03T09:36:41Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
5c8627c2dccb9c93399bf594b5405a9b7fe25a97
174
172
2017-03-03T09:51:26Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
16239f821f75091843e602e8fd91c558d55ab8f4
RK3399
0
21
184
183
2017-03-06T12:33:44Z
Admin
1
wikitext
text/x-wiki
= Overview =
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 2.0GHz (Big cluster)
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
3b3fbd924b9591df782a5241eb64fdbb78d032a3
185
184
2017-03-07T01:51:03Z
Admin
1
wikitext
text/x-wiki
= Overview =
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 2.0GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual 8M ISP and dual channel MIPI CSI-2 receive interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
239275dbfcb8fe538ad66271f27696f748335993
199
185
2017-03-07T03:25:06Z
Chery
9
wikitext
text/x-wiki
= Overview =
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual 8M ISP and dual channel MIPI CSI-2 receive interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
0807e57e3c02fbc30cae65712d26dbe1becdca7d
200
199
2017-03-07T03:46:00Z
Dxj
11
wikitext
text/x-wiki
= Overview =
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP, each up to 13M
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
2197d88dc4f1cfd6d9bae06017e4664c8e4e4f5a
201
200
2017-03-07T06:50:01Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP, each up to 13M
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
2a8ee944767bdc01dd22a781baedb9cab34f1e76
202
201
2017-03-07T06:51:03Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP, each up to 13M
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
f45d70928aa8c660bb312cf5ceaf48e8b543a8c7
203
202
2017-03-07T06:51:21Z
Dxj
11
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
756648e318303e72a47ca4b01ac03b62f18504a3
204
203
2017-03-07T06:51:56Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 737px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 140px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 143px; text-align: center;" | '''Kernel SD index'''
| style="width: 140px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 118px; text-align: center;" | '''Uboot SD index'''
| style="width: 95px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 140px; text-align: center;" | 1
| style="width: 143px; text-align: center;" | 0
| style="width: 140px; text-align: center;" | 0
| style="width: 118px; text-align: center;" | 1
| style="width: 95px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
07dcf1e2229de8e2cec1527f863bb7a5b953940f
206
204
2017-03-07T07:38:37Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
bca12969e5df5ab784aa9cdf6d37e4d496ad256a
219
206
2017-03-07T09:57:17Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
fb661afbcc40d90675ebc920dfe1c00865f442ae
220
219
2017-03-07T10:06:21Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
34745ab66f0806bd83dcb55e24878abb83ab5172
232
220
2017-03-07T11:41:31Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
6c1b97600b9bd2b4ebb52d3e4ea27bca1a0bf6b8
238
232
2017-03-07T11:56:04Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the [[rk3399-excavator board|rk3399-excavator board]], please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
09cdcb1e9425b089e59900bd56079346cfa81316
RK3328
0
24
186
174
2017-03-07T02:06:14Z
Admin
1
wikitext
text/x-wiki
*[https://linux-sunxi.org/A31#Overview 1 Overview]
**[https://linux-sunxi.org/A31#Cortex-A7 1.1 Cortex-A7]
**[https://linux-sunxi.org/A31#A31s 1.2 A31s]
*[https://linux-sunxi.org/A31#A31_SoC_Features 2 A31 SoC Features]
*[https://linux-sunxi.org/A31#History 3 History]
*[https://linux-sunxi.org/A31#Documentation 4 Documentation]
*[https://linux-sunxi.org/A31#Software 5 Software]
**[https://linux-sunxi.org/A31#Original_SDKs 5.1 Original SDKs]
**[https://linux-sunxi.org/A31#GPL_Violations 5.2 GPL Violations]
***[https://linux-sunxi.org/A31#a31_hummbingbird_V3.3_v2_kfb_0k_SDK 5.2.1 a31_hummbingbird_V3.3_v2_kfb_0k SDK]
****[https://linux-sunxi.org/A31#kernel 5.2.1.1 kernel]
****[https://linux-sunxi.org/A31#u-boot 5.2.1.2 u-boot]
***[https://linux-sunxi.org/A31#a31_V4.5_MerriiLinux_Humming_SDK 5.2.2 a31_V4.5_MerriiLinux_Humming SDK]
****[https://linux-sunxi.org/A31#kernel_2 5.2.2.1 kernel]
****[https://linux-sunxi.org/A31#u-boot_2 5.2.2.2 u-boot]
***[https://linux-sunxi.org/A31#a31_v4.5_hummingbird_kfb_ok_SDK 5.2.3 a31_v4.5_hummingbird_kfb_ok SDK]
****[https://linux-sunxi.org/A31#kernel_3 5.2.3.1 kernel]
****[https://linux-sunxi.org/A31#u-boot_3 5.2.3.2 u-boot]
*[https://linux-sunxi.org/A31#Devices 6 Devices]
*[https://linux-sunxi.org/A31#See_also 7 See also]
*[https://linux-sunxi.org/A31#Owners_of_the_SoC_on_IRC 8 Owners of the SoC on IRC]
*[https://linux-sunxi.org/A31#Community_Support 9 Community Support]
*[https://linux-sunxi.org/A31#References 10 References]
*[https://linux-sunxi.org/A31#External_links 11 External links]
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
b84cb7bb6ad7d83d0cacdc72cdd3789be999ba9c
188
186
2017-03-07T02:10:08Z
Admin
1
wikitext
text/x-wiki
*[https://linux-sunxi.org/A31#Overview 1 Overview]
**[https://linux-sunxi.org/A31#Cortex-A7 1.1 Cortex-A7]
**[https://linux-sunxi.org/A31#A31s 1.2 A31s]
*[https://linux-sunxi.org/A31#A31_SoC_Features 2 A31 SoC Features]
*[https://linux-sunxi.org/A31#History 3 History]
*[https://linux-sunxi.org/A31#Documentation 4 Documentation]
*[https://linux-sunxi.org/A31#Software 5 Software]
**[https://linux-sunxi.org/A31#Original_SDKs 5.1 Original SDKs]
**[https://linux-sunxi.org/A31#GPL_Violations 5.2 GPL Violations]
***[https://linux-sunxi.org/A31#a31_hummbingbird_V3.3_v2_kfb_0k_SDK 5.2.1 a31_hummbingbird_V3.3_v2_kfb_0k SDK]
****[https://linux-sunxi.org/A31#kernel 5.2.1.1 kernel]
****[https://linux-sunxi.org/A31#u-boot 5.2.1.2 u-boot]
***[https://linux-sunxi.org/A31#a31_V4.5_MerriiLinux_Humming_SDK 5.2.2 a31_V4.5_MerriiLinux_Humming SDK]
****[https://linux-sunxi.org/A31#kernel_2 5.2.2.1 kernel]
****[https://linux-sunxi.org/A31#u-boot_2 5.2.2.2 u-boot]
***[https://linux-sunxi.org/A31#a31_v4.5_hummingbird_kfb_ok_SDK 5.2.3 a31_v4.5_hummingbird_kfb_ok SDK]
****[https://linux-sunxi.org/A31#kernel_3 5.2.3.1 kernel]
****[https://linux-sunxi.org/A31#u-boot_3 5.2.3.2 u-boot]
*[https://linux-sunxi.org/A31#Devices 6 Devices]
*[https://linux-sunxi.org/A31#See_also 7 See also]
*[https://linux-sunxi.org/A31#Owners_of_the_SoC_on_IRC 8 Owners of the SoC on IRC]
*[https://linux-sunxi.org/A31#Community_Support 9 Community Support]
*[https://linux-sunxi.org/A31#References 10 References]
*[https://linux-sunxi.org/A31#External_links 11 External links]
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
History
Documentation
Software
Borad configuration
board kernel uboot dts
rk3399-excavator rockchip_linux_defconfig rk3399_linux_defconfig rk3399-sapphire-excavator-linux.dts
Chip configuration
chip Kernel eMMC index Kernel SD index Uboot eMMC index Uboot SD index Baud speed
RK3399 1 0 0 1 1500000
How to get the sources
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
How to build the sources
Build Environment
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.
Use below commands to install Ubuntu packages:
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn
u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
Installing the build tools and download source
Please follow linux user guide to install the build tools and download source.
Building kernel
For ARM V8 (RK3399 optimized SDK)
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4
Building uboot
For RK3399 optimized SDK (rkproduct uboot)
CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all
Building rootfs
Debian
Yu can download the prebuilt image directly.
Baidu Pan、Google Drive
or you could use the rootfs-build-script from Rockchip to build rootfs yourselves.
Yocto
If you want to use Yocto to build your rootfs see yocto-user-guide for detail.
Buildroot
If you want to use Buildroot to build your rootfs see buildroot-user-guide for detail.
Devices
If you need the rk3399-excavator board, please communicate through the following contact information.
Telephone: 4007700590 Email: service@rock-chips.com
See also
Owners of the SoC on IRC
Commuity Support
References
Exteneral Links
4a0532e8dedb1c167aa63928dc7a09fe6efc8ad9
189
188
2017-03-07T02:10:49Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
68678b2523616dd1917b8cdb1078ad27df4654ba
194
189
2017-03-07T02:20:05Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
3f7f6a4816d477ab8332809728e672fa1208cba7
195
194
2017-03-07T02:21:51Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 consists of Quad-core A53 application processor .
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
b2206a4f8e40d3c0aeb4703bafdf67b9eab24766
196
195
2017-03-07T03:03:24Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and cost efficient SOC for 4K HDR OTT/IPTV. multi-channel display with HDMI2.0a, TV Encoder
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
36e56673d642daa80a688da03bc07fdd8a6e8544
197
196
2017-03-07T03:06:10Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and cost efficient SOC for 4K HDR OTT/IPTV. multi-channel display with HDMI2.0a, TV Encoder
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Camera:
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*PMIC:
*Embedded Controller:
*Audio:
*OS:
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
93afe839a5cd7b052fe55da98128643a5cf9e455
198
197
2017-03-07T03:10:29Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and cost efficient SOC for 4K HDR OTT/IPTV. multi-channel display with HDMI2.0a, TV Encoder
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
3bb3fd3bf08a411d6a8a2e636ad21220842c96f1
205
198
2017-03-07T07:09:14Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. Its video processors consist of H.264 video encoder and H.265 video encoder
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
980b3c57756eaca04a201d674d1bca05867204b5
207
205
2017-03-07T08:36:13Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It supports HDR10 ;,HLG,4K ;10bits 30fps ;H.264 ;video& ;decoder ;and ;4K ;10bits ;60fps ;H265 ;video decoder
Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
fcc53a11f973c8a9b66b36cf1d37e3d4315264da
208
207
2017-03-07T08:41:05Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.With lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, it provided a broad range of performance, price and power consumption points to meet get very flexible solution, . TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]--> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
049068031d2f1f4e3e26466cb36783e67c77ecde
209
208
2017-03-07T08:48:48Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.With lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, it set performance, price and power consumption points to meet get very flexible solution, <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
edb09243d931b0a9e1647b43e6be34ddc3b6acbd
210
209
2017-03-07T08:49:27Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.With lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, it set performance, price and power consumption points to meet get very flexible solution, <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1550067703">
</o:OLEObject>
</xml><![endif]-->
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3288
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
93498e3be1a1678d63f198526562bd17a7407caf
211
210
2017-03-07T09:00:26Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3288
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
948c21edc65ad8185b9b2cb751a11e2c4b3e6e84
212
211
2017-03-07T09:08:10Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3288
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
e073fa18082d3b59966a2f4c54b6880299660204
223
212
2017-03-07T11:00:06Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3288
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.https://en.wikipedia.org/wiki/ARM_Cortex-A53
= Exteneral Links =
05c21a2350eb9c4f5c2cf81848b42e71fca8a317
233
223
2017-03-07T11:42:19Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.https://en.wikipedia.org/wiki/ARM_Cortex-A53
= Exteneral Links =
0ba57f9d142961b1e8d081163026d3b9d9f9491e
RK3288
0
20
187
182
2017-03-07T02:08:59Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
1250c8617bed5677d6ffaa559eab7fe165fc3a63
190
187
2017-03-07T02:16:07Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| rk3399-excavator
| rockchip_linux_defconfig
| rk3399_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
11785200e14d70c4592849b3c7901f1cbc3c64ab
191
190
2017-03-07T02:17:25Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
72a9cdb32f0049e6bb816592d49a29fd7160d40a
192
191
2017-03-07T02:18:12Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
093c02b06288f90303cfed420c6601d1f433d2ec
193
192
2017-03-07T02:18:38Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
af71462d133733bc1747791586a86c6043c898f5
213
193
2017-03-07T09:37:34Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
0fe3fca9d4c9f92b10504f45b8406a991b2e5a7c
214
213
2017-03-07T09:39:03Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
a0a55ac01c26c941932203986ff816b783f49779
215
214
2017-03-07T09:39:45Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
http://rockchip.wikidot.com/rk3288#toc0
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
29f1f5a154db37d0382a8a4315cd8d01432af31b
216
215
2017-03-07T09:43:06Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extentable, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
e17dd92839b5dbaf325945887cab3754222f0fb2
217
216
2017-03-07T09:48:01Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offer a extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
920c8eedaae97d944f1b196a2591147573215f80
218
217
2017-03-07T09:53:06Z
Chery
9
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
01ffa9c284a45aaa51a806bb5ab0fc6b404fb4db
224
218
2017-03-07T11:22:17Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[http://rockchip.wikidot.com/firefly-rk3288 Firefly-RK3288]<br/> [http://rockchip.wikidot.com/firefly-rk3288-reload Firefly-RK3288 reload]<br/> [http://rockchip.wikidot.com/em3288 EM3288(Cortex-A17 )]<br/> [http://rockchip.wikidot.com/mini3288 MINI3288]<br/> [http://rockchip.wikidot.com/rock2 Rock2 Square]<br/> [http://rockchip.wikidot.com/rock2-full Rock2 Full]<br/> [http://rockchip.wikidot.com/miqi MiQi]<br/> [http://rockchip.wikidot.com/popmetal Popmetal]<br/> [http://rockchip.wikidot.com/fennec Fennec]<br/> [http://rockchip.wikidot.com/phycore phyCORE-RK3288]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
a8f34c7b99961c9edc99dea078ddfcc19ad6540f
225
224
2017-03-07T11:30:54Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[EM3288(Cortex-A17_)|EM3288(Cortex-A17 )]]<br/> MINI3288<br/> Rock2 Square<br/> Rock2 Full<br/> MiQi<br/> Popmetal<br/> Fennec<br/> phyCORE-RK3288
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
85371c4027a1e75a6be094d728feb861e0de8d2e
229
225
2017-03-07T11:33:05Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[EM3288(Cortex-A17_)|EM3288(Cortex-A17 )]]<br/> [[MINI3288|MINI3288]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[phyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
RK3328
RK3399
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
b639fca4fc07905d3a1be2cd2dc7d81d95dc77ca
231
229
2017-03-07T11:40:48Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[EM3288(Cortex-A17_)|EM3288(Cortex-A17 )]]<br/> [[MINI3288|MINI3288]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[phyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
cfc6c4b2eb969507ebdf0eca4d74ffd0397adb64
234
231
2017-03-07T11:46:47Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
ba57318b9ef630b3c958451571f369c30e2d54e5
235
234
2017-03-07T11:49:54Z
Admin
1
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
RK3288 datasheet V1.1
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
015f2386b69b02b3e9f73015a84880bd94c6f041
File:RK3399 Linux Debian System Development Guide.pdf
6
25
221
2017-03-07T10:09:20Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:RK3399 Linux Buildroot System Development Guide.pdf
6
26
222
2017-03-07T10:14:05Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Popmetal
0
29
236
2017-03-07T11:53:49Z
Admin
1
Created page with " {| |- | CPU | RK3288 Quad-core ARM Cortex-A17 |- | GPU | Mali 760MP4 |- | Memory | 2GB DDR3 |- | Storage | 16GB eMMC, MicroSD (TF) Card, SATA 2.0 |- | Connectivity | 10/100/1..."
wikitext
text/x-wiki
{|
|-
| CPU
| RK3288 Quad-core ARM Cortex-A17
|-
| GPU
| Mali 760MP4
|-
| Memory
| 2GB DDR3
|-
| Storage
| 16GB eMMC, MicroSD (TF) Card, SATA 2.0
|-
| Connectivity
| 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
|-
| Interface
| 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port
|}
a384fe3a7e42a6f4e2d1f8d24b5d31e2cea79be9
RK3328
0
24
243
233
2017-03-08T01:22:32Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.https://en.wikipedia.org/wiki/ARM_Cortex-A53
= Exteneral Links =
cb6668ea0ed4eeb7a85853dbc5e4ea8a6c409ac0
252
243
2017-03-08T02:28:06Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[[RK3228H_datasheet|RK3228H datasheet]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.https://en.wikipedia.org/wiki/ARM_Cortex-A53
= Exteneral Links =
ada51b7eeefc5532640d2495837ad7d5af4e4e11
254
252
2017-03-08T02:36:54Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[[Media:Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf|Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.https://en.wikipedia.org/wiki/ARM_Cortex-A53
= Exteneral Links =
f3546041d107bff945c9790658b09d1e61843ac1
269
254
2017-03-08T02:56:33Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.https://en.wikipedia.org/wiki/ARM_Cortex-A53
= Exteneral Links =
7f78b8e83f59162492c1a14b9e15fe37e65563cc
RK3399
0
21
244
238
2017-03-08T01:27:31Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
546f43cd6c7d1eecbb29016569c1236a59b9c58e
245
244
2017-03-08T01:39:36Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[File:RK3399 Linux Debian System Development Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
581f3c49b11951b418020c1053c0a9bc80875557
246
245
2017-03-08T01:42:33Z
Admin
1
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
b72ca9b046083d9efa80b0e921ca2a0d6f8c960a
247
246
2017-03-08T01:50:30Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
be3d4a7fab7867683b519ad3bcb3cbdb90acc6b1
248
247
2017-03-08T02:22:47Z
Chery
9
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
889da5e00394d7006716fe43831bab6d26e44417
255
248
2017-03-08T02:40:27Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
1a7de9ee0f9c6e3b67ab72fb2d464e1b23ef644a
256
255
2017-03-08T02:42:44Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7a0722f542e5c27e012adc20fd0aa38e6f33fdf6
257
256
2017-03-08T02:45:05Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[http://10.10.10.12:8444/index.php?title=File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
bf155698ee9c516f78cb532568237e1d9333f1f2
258
257
2017-03-08T02:45:29Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[[RK3399_Linux_Debian_System_Development_Guide]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
f4fbe6a068b5b8c032763298e09f3f340a3a9897
259
258
2017-03-08T02:45:58Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[[RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399_Linux_Debian_System_Development_Guide]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
d45e42e2b32675adc4cf2ca272bf8909296de15c
260
259
2017-03-08T02:46:38Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[[RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399_Linux_Debian_System_Development_Guide]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
3d5fce004ddc948ddec10d7ebc5bec2680fe336b
261
260
2017-03-08T02:47:44Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[[RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399_Linux_Debian_System_Development_Guide]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
97fcd745bc3503bfc7be3607288b9e97c238f448
262
261
2017-03-08T02:48:56Z
Karen
3
wikitext
text/x-wiki
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
d8e2bed2ce15b857fe560b3207826643ebf3c407
267
262
2017-03-08T02:55:40Z
Admin
1
wikitext
text/x-wiki
test
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
05c11a159b49b06896df7d8a8c544d78751168cc
270
267
2017-03-08T02:56:56Z
Karen
3
wikitext
text/x-wiki
test
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
c0be81956f60820c6647dfc24f1af0704dd600f7
271
270
2017-03-08T03:01:04Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
56f779a428d3ff06323b535ddfbbcc86f9dec745
275
271
2017-03-08T03:10:35Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width:22em;"
|-
! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31
|-
| colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a>
|-
! scope="row" style="text-align:left;" | Manufacturer
| style="" | Allwinner
|-
! scope="row" style="text-align:left;" | Process
| style="" | 40nm
|-
! scope="row" style="text-align:left;" | CPU
| style="" | Quad-Core ARM Cortex-A7
|-
! scope="row" style="text-align:left;" | Memory
| style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" style="text-align:left;" | GPU
| style="" | SGX544
|-
! colspan="2" style="text-align:center; background: #dedede;" | Connectivity
|-
! scope="row" style="text-align:left;" | Video
| style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" style="text-align:left;" | Audio
| style="" | I2S, PCM
|-
! scope="row" style="text-align:left;" | Storage
| style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" style="text-align:left;" | USB
| style="" | OTG, 2x Host
|-
! scope="row" style="text-align:left;" | Release Date
| style="" | December 2012
|-
! scope="row" style="text-align:left;" | Website
| style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a>
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
[[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]]
[[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]]
[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
2fef9dc590baa95b470c148958caeadeec58752a
276
275
2017-03-08T03:10:43Z
Karen
3
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width:22em;"
|-
! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31
|-
| colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a>
|-
! scope="row" style="text-align:left;" | Manufacturer
| style="" | Allwinner
|-
! scope="row" style="text-align:left;" | Process
| style="" | 40nm
|-
! scope="row" style="text-align:left;" | CPU
| style="" | Quad-Core ARM Cortex-A7
|-
! scope="row" style="text-align:left;" | Memory
| style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" style="text-align:left;" | GPU
| style="" | SGX544
|-
! colspan="2" style="text-align:center; background: #dedede;" | Connectivity
|-
! scope="row" style="text-align:left;" | Video
| style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" style="text-align:left;" | Audio
| style="" | I2S, PCM
|-
! scope="row" style="text-align:left;" | Storage
| style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" style="text-align:left;" | USB
| style="" | OTG, 2x Host
|-
! scope="row" style="text-align:left;" | Release Date
| style="" | December 2012
|-
! scope="row" style="text-align:left;" | Website
| style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a>
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
53d5bfa896960d22ea9da38ba09bd2922ba31221
278
276
2017-03-08T03:17:33Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width:250px;"
|-
! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31
|-
| colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a>
|-
! scope="row" style="text-align:left;" | Manufacturer
| style="" | Allwinner
|-
! scope="row" style="text-align:left;" | Process
| style="" | 40nm
|-
! scope="row" style="text-align:left;" | CPU
| style="" | Quad-Core ARM Cortex-A7
|-
! scope="row" style="text-align:left;" | Memory
| style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" style="text-align:left;" | GPU
| style="" | SGX544
|-
! colspan="2" style="text-align:center; background: #dedede;" | Connectivity
|-
! scope="row" style="text-align:left;" | Video
| style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" style="text-align:left;" | Audio
| style="" | I2S, PCM
|-
! scope="row" style="text-align:left;" | Storage
| style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" style="text-align:left;" | USB
| style="" | OTG, 2x Host
|-
! scope="row" style="text-align:left;" | Release Date
| style="" | December 2012
|-
! scope="row" style="text-align:left;" | Website
| style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a>
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
58802ecc75d038a254c1926603c405fb442e5056
282
278
2017-03-08T03:19:47Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width:250px;"
|-
! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31
|-
| colspan="2" style="text-align:center;" | [[File:RK3399 Block Diagram.png]]
|-
! scope="row" style="text-align:left;" | Manufacturer
| style="" | Allwinner
|-
! scope="row" style="text-align:left;" | Process
| style="" | 40nm
|-
! scope="row" style="text-align:left;" | CPU
| style="" | Quad-Core ARM Cortex-A7
|-
! scope="row" style="text-align:left;" | Memory
| style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" style="text-align:left;" | GPU
| style="" | SGX544
|-
! colspan="2" style="text-align:center; background: #dedede;" | Connectivity
|-
! scope="row" style="text-align:left;" | Video
| style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" style="text-align:left;" | Audio
| style="" | I2S, PCM
|-
! scope="row" style="text-align:left;" | Storage
| style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" style="text-align:left;" | USB
| style="" | OTG, 2x Host
|-
! scope="row" style="text-align:left;" | Release Date
| style="" | December 2012
|-
! scope="row" style="text-align:left;" | Website
| style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a>
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7678f83935b7f071ef133031665d686696fc70e4
283
282
2017-03-08T03:20:10Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width:250px;"
|-
! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | RK3399
|-
| colspan="2" style="text-align:center;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|-
! scope="row" style="text-align:left;" | Manufacturer
| style="" | Allwinner
|-
! scope="row" style="text-align:left;" | Process
| style="" | 40nm
|-
! scope="row" style="text-align:left;" | CPU
| style="" | Quad-Core ARM Cortex-A7
|-
! scope="row" style="text-align:left;" | Memory
| style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" style="text-align:left;" | GPU
| style="" | SGX544
|-
! colspan="2" style="text-align:center; background: #dedede;" | Connectivity
|-
! scope="row" style="text-align:left;" | Video
| style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" style="text-align:left;" | Audio
| style="" | I2S, PCM
|-
! scope="row" style="text-align:left;" | Storage
| style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" style="text-align:left;" | USB
| style="" | OTG, 2x Host
|-
! scope="row" style="text-align:left;" | Release Date
| style="" | December 2012
|-
! scope="row" style="text-align:left;" | Website
| style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a>
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
15fbe7b90bcaf33c9651d6b14c6dba3fa8e2b5ef
287
283
2017-03-08T03:34:51Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
a4be62849b804c0f9823c07608883925d8449842
289
287
2017-03-08T03:35:25Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
4d8671cbbd03097a827e086a065fe51ec05e10f3
291
289
2017-03-08T03:36:15Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
07a2c06a2f6c0d1939f1a2878c33c26f1a41022d
292
291
2017-03-08T03:36:32Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
a4be62849b804c0f9823c07608883925d8449842
294
292
2017-03-08T03:38:03Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
0265764e4192991057f74cedb391eb5fe5cdca6a
295
294
2017-03-08T03:38:55Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
{| border="1" cellpadding="1" cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
0160a6566652b76234a4c44f4059f2518f053233
296
295
2017-03-08T03:41:03Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
{| border="1" cellpadding="1" cellspacing="5" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
ef5518b55c9e7012ba2db7a570bf1b27c4c25e8a
RK3288
0
20
263
235
2017-03-08T02:49:44Z
Karen
3
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
{|
|-
| [http://10.10.10.12:8444/index.php?title=File:Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip RK3288TRM V1.1 Part3 Graphic and multi-media]
|}
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
1aa7c9066f0ce19129badd0bd031c2685451b680
264
263
2017-03-08T02:50:10Z
Karen
3
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
06995d96c8280b9c17b18d11c4e91aeb96863a15
265
264
2017-03-08T02:51:11Z
Karen
3
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/8/88/Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface.pdf Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface]
[http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
bbe11cfc316b46bb803e8c583f317d9dfc873d28
266
265
2017-03-08T02:51:52Z
Karen
3
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/f/f2/Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control]
[http://10.10.10.12:8444/images/8/88/Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface.pdf Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface]
[http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
afb7b9d551af59b074b31fe3c027b23ba1ad1e51
268
266
2017-03-08T02:56:01Z
Karen
3
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/f/f2/Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control]
[http://10.10.10.12:8444/images/8/88/Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface.pdf Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface]
[http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
a660b90dc9213ecb96d6448bc3c9f96c4d652e52
274
268
2017-03-08T03:09:45Z
Karen
3
wikitext
text/x-wiki
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.https://en.wikipedia.org/wiki/ARM_Cortex-A17
= Exteneral Links =
http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
cb5a21d445c45238d6779182d5bf7d4e7bff95ab
277
274
2017-03-08T03:17:07Z
Kever
2
wikitext
text/x-wiki
{{infobox
| above = {{{name|{{PAGENAME}}
}}}
| abovestyle = background: #dedede;
| image = {{{image|}}}
| caption = {{{caption|}}}
| headerstyle = background: #dedede;
| header1 =
| label1 = Manufacturer
| data1 = {{{manufacturer|}}}
| header2 =
| label2 = Process
| data2 = {{{process|}}}
| header3 =
| label3 = CPU
| data3 = {{{cpu|}}}
| header4 =
| label4 = L2
| data4 = {{{l2|}}}
| header5 =
| label5 = Extensions
| data5 = {{{extensions|}}}
| header6 =
| label6 = Memory
| data6 = {{{memory|}}}
| header7 =
| label7 = GPU
| data7 = {{{gpu|}}}
| header8 =
| label8 = VPU
| data8 = {{{vpu|}}}
| header9 =
| label9 = APU
| data9 = {{{apu|}}}
| header10 = Connectivity
| label10 =
| data10 =
| header11 =
| label11 = Video
| data11 = {{{video|}}}
| header12 =
| label12 = Audio
| data12 = {{{audio|}}}
| header13 =
| label13 = Network
| data13 = {{{network|}}}
| header14 =
| label14 = Storage
| data14 = {{{storage|}}}
| header15 =
| label15 = USB
| data15 = {{{usb|}}}
| header16 =
| label16 = Other
| data16 = {{{other|}}}
| header17 =
| label17 = Release Date
| data17 = {{{release_date|}}}
| header18 =
| label18 = Website
| data18 = {{{website|}}}
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
460758d7272b17538f130b1409b10af31fbe21d6
284
277
2017-03-08T03:20:38Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:Allwinner_A31s.jpg|250px]]
| manufacturer = Allwinner
| process = 40nm
| cpu = Quad-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = [http://www.allwinnertech.com/en/product/A31.html Product Page]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
b3acd725541d13134d600149f62cbb2ed152d726
286
284
2017-03-08T03:32:54Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:Allwinner_A31s.jpg|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
ad599d81ab1caeb2e445e62d07b6cfcab2c11b16
290
286
2017-03-08T03:35:50Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:Rk3288_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
42adbdf8356a1b1204e4015cb9d953fc8a92a778
293
290
2017-03-08T03:37:55Z
Kever
2
wikitext
text/x-wiki
{{Infobox_SoC
| image = [[File:Rk3288_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
0ea366911ade5d89ce9ed6b447c997dd57a0c0aa
297
293
2017-03-08T03:49:43Z
Kever
2
wikitext
text/x-wiki
{{Infobox_SoC
| image = [[File:Rk3288_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
{| cellspacing="5"
|-
! colspan="2" | A31
|-
| colspan="2" |
|-
! scope="row" | Manufacturer
| Allwinner
|-
! scope="row" | Process
| 40nm
|-
! scope="row" | CPU
| Quad-Core ARM Cortex-A7
|-
! scope="row" | Memory
| 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" | GPU
| SGX544
|-
! colspan="2" | Connectivity
|-
! scope="row" | Video
| HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" | Audio
| I2S, PCM
|-
! scope="row" | Storage
| 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" | USB
| OTG, 2x Host
|-
! scope="row" | Release Date
| December 2012
|-
! scope="row" | Website
| [http://www.allwinnertech.com/en/product/A31.html Product Page]
|}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c5b014f3da0fabb69cb96ee57e92d89ce3c801e3
File:Rockchip RK3288 Datasheet V2.2-20170301.pdf
6
40
273
2017-03-08T03:08:55Z
Karen
3
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:Infobox
10
41
279
2017-03-08T03:17:34Z
Kever
2
Created page with "{{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle..."
wikitext
text/x-wiki
{{infobox
| above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}}
| abovestyle = background: #dedede;
| image = {{{image|}}}
| caption = {{{caption|}}}
| headerstyle = background: #dedede;
| header1 =
| label1 = Manufacturer
| data1 = {{{manufacturer|}}}
| header2 =
| label2 = Process
| data2 = {{{process|}}}
| header3 =
| label3 = CPU
| data3 = {{{cpu|}}}
| header4 =
| label4 = L2
| data4 = {{{l2|}}}
| header5 =
| label5 = Extensions
| data5 = {{{extensions|}}}
| header6 =
| label6 = Memory
| data6 = {{{memory|}}}
| header7 =
| label7 = GPU
| data7 = {{{gpu|}}}
| header8 =
| label8 = VPU
| data8 = {{{vpu|}}}
| header9 =
| label9 = APU
| data9 = {{{apu|}}}
| header10 = Connectivity
| label10 =
| data10 =
| header11 =
| label11 = Video
| data11 = {{{video|}}}
| header12 =
| label12 = Audio
| data12 = {{{audio|}}}
| header13 =
| label13 = Network
| data13 = {{{network|}}}
| header14 =
| label14 = Storage
| data14 = {{{storage|}}}
| header15 =
| label15 = USB
| data15 = {{{usb|}}}
| header16 =
| label16 = Other
| data16 = {{{other|}}}
| header17 =
| label17 = Release Date
| data17 = {{{release_date|}}}
| header18 =
| label18 = Website
| data18 = {{{website|}}}
}}
9af7362d36472ab4f99eac9c884387201556eed6
280
279
2017-03-08T03:18:12Z
Kever
2
wikitext
text/x-wiki
<includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}">
<!--
Title
-->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!--
Header
-->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}}
{{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!--
Image
-->{{#if:{{{image|}}}|{{Infobox/row
|data={{{image}}}{{#if:{{{caption|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|}}}</span>}}
|datastyle={{{imagestyle|}}}
|class={{{imageclass|}}}
|rowclass={{{imagerowclass|}}}
}} }}<!--
Data rows
-->{{Infobox/row
|header={{{header1|}}} |headerstyle={{{headerstyle|}}}
|label={{{label1|}}} |labelstyle={{{labelstyle|}}}
|data={{{data1|}}} |datastyle={{{datastyle|}}}
|class={{{class1|}}} |rowclass={{{rowclass1|}}}
}}{{Infobox/row
|header={{{header2|}}} |headerstyle={{{headerstyle|}}}
|label={{{label2|}}} |labelstyle={{{labelstyle|}}}
|data={{{data2|}}} |datastyle={{{datastyle|}}}
|class={{{class2|}}} |rowclass={{{rowclass2|}}}
}}{{Infobox/row
|header={{{header3|}}} |headerstyle={{{headerstyle|}}}
|label={{{label3|}}} |labelstyle={{{labelstyle|}}}
|data={{{data3|}}} |datastyle={{{datastyle|}}}
|class={{{class3|}}} |rowclass={{{rowclass3|}}}
}}{{Infobox/row
|header={{{header4|}}} |headerstyle={{{headerstyle|}}}
|label={{{label4|}}} |labelstyle={{{labelstyle|}}}
|data={{{data4|}}} |datastyle={{{datastyle|}}}
|class={{{class4|}}} |rowclass={{{rowclass4|}}}
}}{{Infobox/row
|header={{{header5|}}} |headerstyle={{{headerstyle|}}}
|label={{{label5|}}} |labelstyle={{{labelstyle|}}}
|data={{{data5|}}} |datastyle={{{datastyle|}}}
|class={{{class5|}}} |rowclass={{{rowclass5|}}}
}}{{Infobox/row
|header={{{header6|}}} |headerstyle={{{headerstyle|}}}
|label={{{label6|}}} |labelstyle={{{labelstyle|}}}
|data={{{data6|}}} |datastyle={{{datastyle|}}}
|class={{{class6|}}} |rowclass={{{rowclass6|}}}
}}{{Infobox/row
|header={{{header7|}}} |headerstyle={{{headerstyle|}}}
|label={{{label7|}}} |labelstyle={{{labelstyle|}}}
|data={{{data7|}}} |datastyle={{{datastyle|}}}
|class={{{class7|}}} |rowclass={{{rowclass7|}}}
}}{{Infobox/row
|header={{{header8|}}} |headerstyle={{{headerstyle|}}}
|label={{{label8|}}} |labelstyle={{{labelstyle|}}}
|data={{{data8|}}} |datastyle={{{datastyle|}}}
|class={{{class8|}}} |rowclass={{{rowclass8|}}}
}}{{Infobox/row
|header={{{header9|}}} |headerstyle={{{headerstyle|}}}
|label={{{label9|}}} |labelstyle={{{labelstyle|}}}
|data={{{data9|}}} |datastyle={{{datastyle|}}}
|class={{{class9|}}} |rowclass={{{rowclass9|}}}
}}{{Infobox/row
|header={{{header10|}}} |headerstyle={{{headerstyle|}}}
|label={{{label10|}}} |labelstyle={{{labelstyle|}}}
|data={{{data10|}}} |datastyle={{{datastyle|}}}
|class={{{class10|}}} |rowclass={{{rowclass10|}}}
}}{{Infobox/row
|header={{{header11|}}} |headerstyle={{{headerstyle|}}}
|label={{{label11|}}} |labelstyle={{{labelstyle|}}}
|data={{{data11|}}} |datastyle={{{datastyle|}}}
|class={{{class11|}}} |rowclass={{{rowclass11|}}}
}}{{Infobox/row
|header={{{header12|}}} |headerstyle={{{headerstyle|}}}
|label={{{label12|}}} |labelstyle={{{labelstyle|}}}
|data={{{data12|}}} |datastyle={{{datastyle|}}}
|class={{{class12|}}} |rowclass={{{rowclass12|}}}
}}{{Infobox/row
|header={{{header13|}}} |headerstyle={{{headerstyle|}}}
|label={{{label13|}}} |labelstyle={{{labelstyle|}}}
|data={{{data13|}}} |datastyle={{{datastyle|}}}
|class={{{class13|}}} |rowclass={{{rowclass13|}}}
}}{{Infobox/row
|header={{{header14|}}} |headerstyle={{{headerstyle|}}}
|label={{{label14|}}} |labelstyle={{{labelstyle|}}}
|data={{{data14|}}} |datastyle={{{datastyle|}}}
|class={{{class14|}}} |rowclass={{{rowclass14|}}}
}}{{Infobox/row
|header={{{header15|}}} |headerstyle={{{headerstyle|}}}
|label={{{label15|}}} |labelstyle={{{labelstyle|}}}
|data={{{data15|}}} |datastyle={{{datastyle|}}}
|class={{{class15|}}} |rowclass={{{rowclass15|}}}
}}{{Infobox/row
|header={{{header16|}}} |headerstyle={{{headerstyle|}}}
|label={{{label16|}}} |labelstyle={{{labelstyle|}}}
|data={{{data16|}}} |datastyle={{{datastyle|}}}
|class={{{class16|}}} |rowclass={{{rowclass16|}}}
}}{{Infobox/row
|header={{{header17|}}} |headerstyle={{{headerstyle|}}}
|label={{{label17|}}} |labelstyle={{{labelstyle|}}}
|data={{{data17|}}} |datastyle={{{datastyle|}}}
|class={{{class17|}}} |rowclass={{{rowclass17|}}}
}}{{Infobox/row
|header={{{header18|}}} |headerstyle={{{headerstyle|}}}
|label={{{label18|}}} |labelstyle={{{labelstyle|}}}
|data={{{data18|}}} |datastyle={{{datastyle|}}}
|class={{{class18|}}} |rowclass={{{rowclass18|}}}
}}{{Infobox/row
|header={{{header19|}}} |headerstyle={{{headerstyle|}}}
|label={{{label19|}}} |labelstyle={{{labelstyle|}}}
|data={{{data19|}}} |datastyle={{{datastyle|}}}
|class={{{class19|}}} |rowclass={{{rowclass19|}}}
}}{{Infobox/row
|header={{{header20|}}} |headerstyle={{{headerstyle|}}}
|label={{{label20|}}} |labelstyle={{{labelstyle|}}}
|data={{{data20|}}} |datastyle={{{datastyle|}}}
|class={{{class20|}}} |rowclass={{{rowclass20|}}}
}}
{{Infobox/row
|header={{{header21|}}} |headerstyle={{{headerstyle|}}}
|label={{{label21|}}} |labelstyle={{{labelstyle|}}}
|data={{{data21|}}} |datastyle={{{datastyle|}}}
|class={{{class21|}}} |rowclass={{{rowclass21|}}}
}}
</table></includeonly><noinclude>
== Usage ==
== See also ==
* {{tl|Infobox/row}}
[[Category:Infobox]]</noinclude>
322ac8d7295e07bafc73c109b61b6f123216fb25
File:RK3399 Block Diagram.png
6
42
281
2017-03-08T03:18:26Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:Infobox SoC
10
43
285
2017-03-08T03:30:30Z
Kever
2
Created page with "{{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle..."
wikitext
text/x-wiki
{{infobox
| above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}}
| abovestyle = background: #dedede;
| image = {{{image|}}}
| caption = {{{caption|}}}
| headerstyle = background: #dedede;
| header1 =
| label1 = Manufacturer
| data1 = {{{manufacturer|}}}
| header2 =
| label2 = Process
| data2 = {{{process|}}}
| header3 =
| label3 = CPU
| data3 = {{{cpu|}}}
| header4 =
| label4 = L2
| data4 = {{{l2|}}}
| header5 =
| label5 = Extensions
| data5 = {{{extensions|}}}
| header6 =
| label6 = Memory
| data6 = {{{memory|}}}
| header7 =
| label7 = GPU
| data7 = {{{gpu|}}}
| header8 =
| label8 = VPU
| data8 = {{{vpu|}}}
| header9 =
| label9 = APU
| data9 = {{{apu|}}}
| header10 = Connectivity
| label10 =
| data10 =
| header11 =
| label11 = Video
| data11 = {{{video|}}}
| header12 =
| label12 = Audio
| data12 = {{{audio|}}}
| header13 =
| label13 = Network
| data13 = {{{network|}}}
| header14 =
| label14 = Storage
| data14 = {{{storage|}}}
| header15 =
| label15 = USB
| data15 = {{{usb|}}}
| header16 =
| label16 = Other
| data16 = {{{other|}}}
| header17 =
| label17 = Release Date
| data17 = {{{release_date|}}}
| header18 =
| label18 = Website
| data18 = {{{website|}}}
}}
9af7362d36472ab4f99eac9c884387201556eed6
File:Rk3288 soc.png
6
44
288
2017-03-08T03:35:07Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3399
0
21
298
296
2017-03-08T03:51:06Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
== SoC Features ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
c25f7026a679995906fb700d97c693b18c7f6fce
299
298
2017-03-08T03:51:41Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| cellspacing="5" class="infobox" style="width: 250px;"
|-
| [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
1081453c673293b3aa5942b448e7989336f0644e
303
299
2017-03-08T03:59:13Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
[[File:Rk3288 soc.png]]
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
e7055d2bf141ba375bf86dc3e88ac955a2847f0c
304
303
2017-03-08T03:59:43Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
[class="infobox"[File:Rk3288 soc.png]]
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
1c06d730d22b26f513cd263cc14ba558e768c180
305
304
2017-03-08T04:01:26Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="1" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:Rk3288 soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
bdb72e73d6ff13ac208ef2055c58ca2b5610e886
308
305
2017-03-08T06:19:09Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="1" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
dcadbeb697d44d305e112ae541332dc5b2410d7f
309
308
2017-03-08T06:33:25Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="1" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
68212952e0fe47c2cfd65bd57bf6f8ca68cd798b
310
309
2017-03-08T06:33:45Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
7525556a58602ba929e73fed80b88a681fd2ec8f
RK3288
0
20
301
297
2017-03-08T03:52:18Z
Karen
3
wikitext
text/x-wiki
{{Infobox_SoC
| image = [[File:Rk3288_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
{| cellspacing="5"
|-
! colspan="2" | A31
|-
| colspan="2" |
|-
! scope="row" | Manufacturer
| Allwinner
|-
! scope="row" | Process
| 40nm
|-
! scope="row" | CPU
| Quad-Core ARM Cortex-A7
|-
! scope="row" | Memory
| 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
|-
! scope="row" | GPU
| SGX544
|-
! colspan="2" | Connectivity
|-
! scope="row" | Video
| HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
|-
! scope="row" | Audio
| I2S, PCM
|-
! scope="row" | Storage
| 4x SD Card, eMMC NAND, 2-channel raw NAND
|-
! scope="row" | USB
| OTG, 2x Host
|-
! scope="row" | Release Date
| December 2012
|-
! scope="row" | Website
| [http://www.allwinnertech.com/en/product/A31.html Product Page]
|}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
e726da057ea4aa448d465c790f5c7a8f013ee2df
302
301
2017-03-08T03:52:27Z
Kever
2
wikitext
text/x-wiki
{{Infobox_SoC
| image = [[File:Rk3288_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
6cefb8c4aff3eeb127c13e58d9ce17c6f0fdde87
311
302
2017-03-08T06:53:12Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:Rk3288_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date =
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
7bfcd2943da0a72bd563e8eb87f5ae25c701c4f5
314
311
2017-03-08T07:10:47Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
4700f52a44554a4976f262ce98b247c1792c477d
315
314
2017-03-08T07:11:45Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:Allwinner_A31s.jpg|250px]]
| manufacturer = Allwinner
| process = 40nm
| cpu = Quad-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = [http://www.allwinnertech.com/en/product/A31.html Product Page]
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
421c709f67b44c734d6a8b6e48bc5555265c9742
316
315
2017-03-08T07:13:12Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
6f0fc4b2a46defe6131cce3f6c627d4ae90e45aa
321
316
2017-03-08T07:27:42Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
Downloading and Building U-Boot
Before flashing U-Boot to your reference platform, you must download and build it on your Linux host system. NVIDIA offers a Git repository containing the source code for a U-Boot build suitable for L4T.
Prerequisite
Before copying U-Boot, back up all of the original U-Boot files in:
<top>/Linux_for_Tegra/bootloader/<[[../Tegra_Linux_Driver_Package_Development_Guide/Glossary/platform_or_ver.html#|platform|ver]]>/<[[../Tegra_Linux_Driver_Package_Development_Guide/Glossary/board_and_rev.html#|board_and_rev]]>/
To download and build U-Boot
1.Download the L4T U-Boot source code by executing the following commands:
$ git clone -n git://nv-tegra.nvidia.com/3rdparty/u-boot.git
Alternatively, you can use the source_sync.sh script in the L4T release.
If you run source_sync.sh -u without parameters, the script prompts for the <TAG_NAME>, which is provided in the Release Notes.
The "-k" option to source_sync syncs the kernel sources. A space between the -u and -k options is allowed. By default, if no option is provided, the script syncs the kernel and u-boot sources.
Also, you can run the script by passing the <TAG_NAME> as follows:
$ cd <your_L4T_root>/Linux_for_Tegra
$ ./source_sync.sh -u <TAG_NAME>
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
161ed5b197e8c260ec0464233240d7543af08c5a
322
321
2017-03-08T07:50:14Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
= <span style="font-family:tahoma,geneva,sans-serif;">Test Line leading performance,long-standing heritage</span> =
= <span style="font-family:tahoma,geneva,sans-serif;">integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM</span> =
=== integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore ===
= Test Line leading performance,long-standing heritage =
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
#Test Line leading performance,long-standing heritage
#*Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
6641b702720a28205338c9d590ae8d519db83580
File:RK3399 Soc.png
6
47
307
2017-03-08T06:17:11Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:Infobox/row
10
48
312
2017-03-08T06:58:25Z
Kever
2
Created page with "<includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}..."
wikitext
text/x-wiki
<includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}">
<!--
Title
-->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!--
Header
-->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}}
{{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!--
Image
-->{{#if:{{{image|}}}|{{Infobox/row
|data={{{image}}}{{#if:{{{caption|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|}}}</span>}}
|datastyle={{{imagestyle|}}}
|class={{{imageclass|}}}
|rowclass={{{imagerowclass|}}}
}} }}<!--
Data rows
-->{{Infobox/row
|header={{{header1|}}} |headerstyle={{{headerstyle|}}}
|label={{{label1|}}} |labelstyle={{{labelstyle|}}}
|data={{{data1|}}} |datastyle={{{datastyle|}}}
|class={{{class1|}}} |rowclass={{{rowclass1|}}}
}}{{Infobox/row
|header={{{header2|}}} |headerstyle={{{headerstyle|}}}
|label={{{label2|}}} |labelstyle={{{labelstyle|}}}
|data={{{data2|}}} |datastyle={{{datastyle|}}}
|class={{{class2|}}} |rowclass={{{rowclass2|}}}
}}{{Infobox/row
|header={{{header3|}}} |headerstyle={{{headerstyle|}}}
|label={{{label3|}}} |labelstyle={{{labelstyle|}}}
|data={{{data3|}}} |datastyle={{{datastyle|}}}
|class={{{class3|}}} |rowclass={{{rowclass3|}}}
}}{{Infobox/row
|header={{{header4|}}} |headerstyle={{{headerstyle|}}}
|label={{{label4|}}} |labelstyle={{{labelstyle|}}}
|data={{{data4|}}} |datastyle={{{datastyle|}}}
|class={{{class4|}}} |rowclass={{{rowclass4|}}}
}}{{Infobox/row
|header={{{header5|}}} |headerstyle={{{headerstyle|}}}
|label={{{label5|}}} |labelstyle={{{labelstyle|}}}
|data={{{data5|}}} |datastyle={{{datastyle|}}}
|class={{{class5|}}} |rowclass={{{rowclass5|}}}
}}{{Infobox/row
|header={{{header6|}}} |headerstyle={{{headerstyle|}}}
|label={{{label6|}}} |labelstyle={{{labelstyle|}}}
|data={{{data6|}}} |datastyle={{{datastyle|}}}
|class={{{class6|}}} |rowclass={{{rowclass6|}}}
}}{{Infobox/row
|header={{{header7|}}} |headerstyle={{{headerstyle|}}}
|label={{{label7|}}} |labelstyle={{{labelstyle|}}}
|data={{{data7|}}} |datastyle={{{datastyle|}}}
|class={{{class7|}}} |rowclass={{{rowclass7|}}}
}}{{Infobox/row
|header={{{header8|}}} |headerstyle={{{headerstyle|}}}
|label={{{label8|}}} |labelstyle={{{labelstyle|}}}
|data={{{data8|}}} |datastyle={{{datastyle|}}}
|class={{{class8|}}} |rowclass={{{rowclass8|}}}
}}{{Infobox/row
|header={{{header9|}}} |headerstyle={{{headerstyle|}}}
|label={{{label9|}}} |labelstyle={{{labelstyle|}}}
|data={{{data9|}}} |datastyle={{{datastyle|}}}
|class={{{class9|}}} |rowclass={{{rowclass9|}}}
}}{{Infobox/row
|header={{{header10|}}} |headerstyle={{{headerstyle|}}}
|label={{{label10|}}} |labelstyle={{{labelstyle|}}}
|data={{{data10|}}} |datastyle={{{datastyle|}}}
|class={{{class10|}}} |rowclass={{{rowclass10|}}}
}}{{Infobox/row
|header={{{header11|}}} |headerstyle={{{headerstyle|}}}
|label={{{label11|}}} |labelstyle={{{labelstyle|}}}
|data={{{data11|}}} |datastyle={{{datastyle|}}}
|class={{{class11|}}} |rowclass={{{rowclass11|}}}
}}{{Infobox/row
|header={{{header12|}}} |headerstyle={{{headerstyle|}}}
|label={{{label12|}}} |labelstyle={{{labelstyle|}}}
|data={{{data12|}}} |datastyle={{{datastyle|}}}
|class={{{class12|}}} |rowclass={{{rowclass12|}}}
}}{{Infobox/row
|header={{{header13|}}} |headerstyle={{{headerstyle|}}}
|label={{{label13|}}} |labelstyle={{{labelstyle|}}}
|data={{{data13|}}} |datastyle={{{datastyle|}}}
|class={{{class13|}}} |rowclass={{{rowclass13|}}}
}}{{Infobox/row
|header={{{header14|}}} |headerstyle={{{headerstyle|}}}
|label={{{label14|}}} |labelstyle={{{labelstyle|}}}
|data={{{data14|}}} |datastyle={{{datastyle|}}}
|class={{{class14|}}} |rowclass={{{rowclass14|}}}
}}{{Infobox/row
|header={{{header15|}}} |headerstyle={{{headerstyle|}}}
|label={{{label15|}}} |labelstyle={{{labelstyle|}}}
|data={{{data15|}}} |datastyle={{{datastyle|}}}
|class={{{class15|}}} |rowclass={{{rowclass15|}}}
}}{{Infobox/row
|header={{{header16|}}} |headerstyle={{{headerstyle|}}}
|label={{{label16|}}} |labelstyle={{{labelstyle|}}}
|data={{{data16|}}} |datastyle={{{datastyle|}}}
|class={{{class16|}}} |rowclass={{{rowclass16|}}}
}}{{Infobox/row
|header={{{header17|}}} |headerstyle={{{headerstyle|}}}
|label={{{label17|}}} |labelstyle={{{labelstyle|}}}
|data={{{data17|}}} |datastyle={{{datastyle|}}}
|class={{{class17|}}} |rowclass={{{rowclass17|}}}
}}{{Infobox/row
|header={{{header18|}}} |headerstyle={{{headerstyle|}}}
|label={{{label18|}}} |labelstyle={{{labelstyle|}}}
|data={{{data18|}}} |datastyle={{{datastyle|}}}
|class={{{class18|}}} |rowclass={{{rowclass18|}}}
}}{{Infobox/row
|header={{{header19|}}} |headerstyle={{{headerstyle|}}}
|label={{{label19|}}} |labelstyle={{{labelstyle|}}}
|data={{{data19|}}} |datastyle={{{datastyle|}}}
|class={{{class19|}}} |rowclass={{{rowclass19|}}}
}}{{Infobox/row
|header={{{header20|}}} |headerstyle={{{headerstyle|}}}
|label={{{label20|}}} |labelstyle={{{labelstyle|}}}
|data={{{data20|}}} |datastyle={{{datastyle|}}}
|class={{{class20|}}} |rowclass={{{rowclass20|}}}
}}
{{Infobox/row
|header={{{header21|}}} |headerstyle={{{headerstyle|}}}
|label={{{label21|}}} |labelstyle={{{labelstyle|}}}
|data={{{data21|}}} |datastyle={{{datastyle|}}}
|class={{{class21|}}} |rowclass={{{rowclass21|}}}
}}
</table></includeonly><noinclude>
== Usage ==
== See also ==
* {{tl|Infobox/row}}
[[Category:Infobox]]</noinclude>
322ac8d7295e07bafc73c109b61b6f123216fb25
Template:Infobox SoC
10
43
313
285
2017-03-08T07:09:43Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">A31</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
<a href="https://linux-sunxi.org/File:Allwinner_A31s.jpg" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a></td></tr><tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
Allwinner</td></tr><tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
40nm</td></tr><tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
Quad-Core ARM Cortex-A7</td></tr><tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)</td></tr><tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
SGX544</td></tr><tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr><tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD</td></tr><tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
I2S, PCM</td></tr><tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
4x SD Card, eMMC NAND, 2-channel raw NAND</td></tr><tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
OTG, 2x Host</td></tr><tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
December 2012</td></tr><tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
<a rel="nofollow" class="external text" href="http://www.allwinnertech.com/en/product/A31.html">Product Page</a></td></tr>
</table>
7fade7d67e10dbcc50a47ef7ffbebb2d2c34d844
317
313
2017-03-08T07:13:29Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">A31</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
<a href="https://linux-sunxi.org/File:Allwinner_A31s.jpg" class="image"><img alt="Allwinner A31s.jpg" src="{{{image}}}" width="250" height="250"></a></td></tr><tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
Allwinner</td></tr><tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
40nm</td></tr><tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
Quad-Core ARM Cortex-A7</td></tr><tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)</td></tr><tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
SGX544</td></tr><tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr><tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD</td></tr><tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
I2S, PCM</td></tr><tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
4x SD Card, eMMC NAND, 2-channel raw NAND</td></tr><tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
OTG, 2x Host</td></tr><tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
December 2012</td></tr><tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
<a rel="nofollow" class="external text" href="http://www.allwinnertech.com/en/product/A31.html">Product Page</a></td></tr>
</table>
71119ae783ec48e7e0edd11b97b0fecc89c75d85
318
317
2017-03-08T07:15:45Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">A31</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr><tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
Allwinner</td></tr><tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
40nm</td></tr><tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
Quad-Core ARM Cortex-A7</td></tr><tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)</td></tr><tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
SGX544</td></tr><tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr><tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD</td></tr><tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
I2S, PCM</td></tr><tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
4x SD Card, eMMC NAND, 2-channel raw NAND</td></tr><tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
OTG, 2x Host</td></tr><tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
December 2012</td></tr><tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
<a rel="nofollow" class="external text" href="http://www.allwinnertech.com/en/product/A31.html">Product Page</a></td></tr>
</table>
e207c92a3f1b59a9dc23aaa718dab4aade608b66
Main Page
0
16
319
144
2017-03-08T07:20:28Z
Kever
2
wikitext
text/x-wiki
= '''Rockchip open source code on Github:''' =
http://github.com/rockchip-linux
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= =
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
dcd0d3123d013526a18dc2ea58baebf147e195a4
320
319
2017-03-08T07:21:57Z
Kever
2
wikitext
text/x-wiki
= '''Rockchip open source code on Github:''' =
[http://github.com/rockchip-linux http://github.com/rockchip-linux]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
bc8ad195d2ac100de7f14e41555609702cfdefeb
323
320
2017-03-08T07:58:23Z
Kever
2
wikitext
text/x-wiki
= '''Rockchip open source code on Github:''' =
[http://github.com/rockchip-linux http://github.com/rockchip-linux]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
[[device|Hardware Device/Board]]
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
eb0d427a2725b1644c12441383fbed0409682771
324
323
2017-03-08T08:05:16Z
Kever
2
wikitext
text/x-wiki
= '''Source code:''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
Github: rockchip-linux
You can also find software for Rockchip SoCs from Upstream
[http://github.com/rockchip-linux http://github.com/rockchip-linux]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
[[Device|Hardware Device/Board]]
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
17c34b5bf803ef79ee51535c6f0fad9ba0b80d99
325
324
2017-03-08T09:15:36Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: http://www.kernel.org/
*U-Boot: http://www.denx.de/wiki/U-Boot/WebHome
*ARM Truseted Firmware: https://github.com/ARM-software/arm-trusted-firmware
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
[[Device|Hardware Device/Board]]
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
0c42315cb98ca54df33efc7dad6c5ff0b1bb252b
326
325
2017-03-08T09:18:10Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board on [[device|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
2f95fbf08f827e8e0cba6db5d33bb23c4e4fed72
327
326
2017-03-08T09:19:13Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board on [[Device|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
2e39d5dddeb6635021c8fbc039e7cf380f3244e8
328
327
2017-03-08T09:19:33Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board on [[Device|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
3c4f03b6218bd39f7bb9fb3637f33b086ff26614
329
328
2017-03-08T09:19:58Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Device|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
0ef99846b361fbf2141f94ee84bc6134e2689eae
330
329
2017-03-08T09:24:08Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
1c870ff35da640bac2c3e0274c8f269292b483d8
334
330
2017-03-08T09:37:01Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
= Feedback =
If you have any questions, please send mail to:
85a7286327508b4fa275736a24435b2794501170
335
334
2017-03-08T09:39:24Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
= Feedback =
If you have any questions, please send mail to:
25e9601746261e20ad3d9a5ba1b025ed17a26d4a
336
335
2017-03-08T09:40:53Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please send mail to:
0e7bc628ccce7db95a7cea2f3a67f46f704c95cb
337
336
2017-03-08T09:42:10Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please send mail to:
7ae34539e6b6d106281d063c730cdd9135d3a1e2
338
337
2017-03-08T09:44:25Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T760 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please send mail to:
5c12f20ada3ac2b2d7f9ab3a8cfe71ce02f24c95
339
338
2017-03-08T10:50:13Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[Rockchip_U-Boot|Rockchip_U-Boot]]
[[Rockchip_Kernel|Rockchip_Kernel]]
[[Upstream_U-Boot|Upstream U-Boot]]
[[Upstream_Kernel|Upstream_Kernel]]
[[Upstream_ATF|Upstream_ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please send mail to:
840ab716f6b5fee4c68abcb548fed25b0f99dd8a
340
339
2017-03-08T11:06:33Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Upstream_ATF|Upstream ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please send mail to:
55e858aa9b6c72dc7fdea5edc3a7bf3939556d78
Devices
0
49
331
2017-03-08T09:26:54Z
Kever
2
Created page with " We list the boards that appeared on upstream source code and Rockchip github. = RK3288 Boards = Firefly-RK3288 = RK3399 Boards = Firefly-RK3399 = RK3328..."
wikitext
text/x-wiki
We list the boards that appeared on upstream source code and Rockchip github.
= RK3288 Boards =
Firefly-RK3288
= RK3399 Boards =
Firefly-RK3399
= RK3328 Boards =
3073beecb5e1273c4779162472642770ec704a8c
332
331
2017-03-08T09:28:24Z
Kever
2
wikitext
text/x-wiki
We list the boards that appeared on upstream source code and Rockchip github.
= RK3288 Boards =
Firefly-RK3288
ASUS: Tinker Board
= RK3399 Boards =
Firefly-RK3399
Rockchip: Excavator sapphire
= RK3328 Boards =
c9228f8d4b5ff975e43cc8fb2340c1db9c0c9de8
333
332
2017-03-08T09:31:07Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly-RK3288
ASUS: Tinker Board
= RK3399 Boards =
Firefly-RK3399
Rockchip: Excavator sapphire
= RK3328 Boards =
d3e3d346bb84731852e529eea07b66e52308b12d
U-Boot
0
11
341
70
2017-03-08T11:29:39Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git</pre>
= Supported Devices =
= Configure U-Boot =
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
= U-Boot functions =
= Istall U-Boot =
ca3ccd3283ffd594d524af2966e8a6a54432cb4d
342
341
2017-03-08T11:38:09Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288]], [[RK3328|RK3328]], [[RK3399]]
RK3036 board supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
RK3188 boards supported:
#Radxa Rock - use rock configuration
RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Configure U-Boot =
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
= U-Boot functions =
= Istall U-Boot =
3e8fe721abc59a6fc5dca5cfb82bee93d25d1730
343
342
2017-03-08T11:39:08Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 board supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
= U-Boot functions =
= Istall U-Boot =
09aa9b44b138184f8cd84b7325aa5684b543e5cd
344
343
2017-03-08T11:39:34Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
= U-Boot functions =
= Istall U-Boot =
b5ae0b308551bb907991d220e74f3e71ab2faa76
345
344
2017-03-08T11:45:05Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
= U-Boot functions =
= Istall U-Boot =
b2949f3e80c9a3f87bf44f58fbaf7e4f279c5945
346
345
2017-03-08T11:45:21Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
= U-Boot functions =
= Istall U-Boot =
50e4883e5bd2ba9f876afce1c0cd19a0e45026d0
347
346
2017-03-08T11:51:58Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
= U-Boot functions =
= Istall U-Boot =
37e2711bfb116caa664ea2973db9e71ff6bc9463
348
347
2017-03-08T11:54:45Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need option in make
CFLAGS='-gdwarf-3'
= U-Boot functions =
= Istall U-Boot =
973410399af723858311c1aad0e2f392361e6a3f
349
348
2017-03-08T12:04:44Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= U-Boot functions =
= Istall U-Boot =
1d6d838fd25d062f8d673cf72c4c371404384585
U-Boot
0
11
350
349
2017-03-08T12:08:32Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Boot =
Boot from eMMC
Boot from SD/TF Card
Boot from USB-Disk
Netboot
= Istall U-Boot =
81cc45ef86b22ebdedd263aa62a1f062098c287a
351
350
2017-03-08T12:21:38Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
== Using U-Boot SPL ==
== Using Rockchip miniloader ==
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
b05f3cc8589c761d2cdaff0a7824ef6f86c0e238
353
351
2017-03-08T12:50:31Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with "u-boot-spl.bin" inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
This image is suppose to flash to offset 0x64.
For u-boot.bin, it's diffrent for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre><code>cat u-boot.bin >> rk3288_idb.img</code></pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
744f9d3222e6208ebd705a393f1b85e105b61537
Fastboot
0
12
352
104
2017-03-08T12:24:51Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== [[镜像烧写|镜像烧写]] ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 [[重启|重启]] ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 [[解锁和锁住设备|解锁和锁住设备]] ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 [[特殊命令|特殊命令]] ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot'''解锁 ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
8d7cd3d090fd770ba1d4d22c8e55e8b1a2d441a7
387
352
2017-03-09T01:41:50Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== [[镜像烧写|镜像烧写]] ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 Lock and Unlock ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot'''解锁 ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
e8bab2420cadb93e614ba4a347c761346ef3561b
388
387
2017-03-09T01:44:40Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== Loader Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 Lock and Unlock ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
880ccff39a9e1f9500a13a858967389f33ce3838
389
388
2017-03-09T01:50:16Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== Flash Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 Lock and Unlock ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
592f263b4b8176f0c2624a5e183354aed3037e7e
390
389
2017-03-09T01:50:59Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== Flash Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
364c14241a53dc195b1c7c44063eb78db3e759a0
404
390
2017-03-09T02:47:30Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
{| border="1" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot getvar version 获得版本
fastboot getvar version-bootloader 获得版本
fastboot getvar unlocked 获得解锁情况
fastboot getvar secure 获得锁住情况(与unlock相反)
fastboot getvar product 获得产品信息
fastboot getvar serialno 获得序列号
fastboot getvar partition-type:<partition_name> 获得指定分区类型
fastboot getvar partition-size:<partition_name> 获得指定分区大小
fastboot getvar partition-offset:<partition_name> 获得指定分区偏移
|}
=== Download Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
965ba78935e5f40e8aaeff7929636c27f1294d8d
405
404
2017-03-09T02:54:01Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== 1.2.1 Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
d7c5f1857584133168cd38bd5ac557ff061163ab
Partitions
0
50
354
2017-03-08T12:52:11Z
Kever
2
Created page with " = Introduction = Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ L..."
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{|
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or uboot
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| uboot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| arm trusted firmware, trusted-os
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre><code>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!</code>
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre><code>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \</code>
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
'''1/ fastboot oem format:'''<br/> It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre><code>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif</code>
</pre>
PC command:
<pre><code>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s</code>
</pre>
'''2/ fastboot flash gpt <gpt partition image>'''
<pre><code> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;</code>
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre><code>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s</code>
</pre>
PC command:
<pre><code>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</code></pre>
7beeeeebc251a97f6c7a287387716f752edbee2f
355
354
2017-03-08T12:53:04Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{|
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or uboot
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| uboot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| arm trusted firmware, trusted-os
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
'''1/ fastboot oem format:'''<br/> It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre><code>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif</code>
</pre>
PC command:
<pre><code>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s</code>
</pre>
'''2/ fastboot flash gpt <gpt partition image>'''
<pre><code> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;</code>
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre><code>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s</code>
</pre>
PC command:
<pre><code>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</code></pre>
c9ae3131d11b2a84067334f6299266e3935d6abe
356
355
2017-03-08T12:54:06Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{|
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or uboot
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| uboot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| arm trusted firmware, trusted-os
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== '''fastboot oem format:'''<br/> It's the same as "gpt write mmc 0 $partitions" in u-boot console: ==
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s</code>
</pre>
== '''fastboot flash gpt <gpt partition image>''' ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
627dff1654f02db55cf9e26e5b8f1bcbab9fcef1
357
356
2017-03-08T12:55:42Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{|
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or uboot
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| uboot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| arm trusted firmware, trusted-os
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s</code>
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
12fc78910a892e9543a24f5716750e80b4dac6a7
Main Page
0
16
358
340
2017-03-08T12:58:32Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Upstream_ATF|Upstream ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
83ca8493657f28eb7f7cceecfbe6bc23155f1acb
359
358
2017-03-08T12:58:52Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Upstream_ATF|Upstream ATF]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
1c842383bd5afd7f2a3892c2bae17b08563aef4f
365
359
2017-03-08T13:08:41Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
b7a265c78efc69bfa32304fa9fcb8b8c811d3c5c
367
365
2017-03-08T13:13:03Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
e9a3bbc2665a29dfd38bb4a458ab91eca7c69e1e
368
367
2017-03-08T13:15:30Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
d35d828f90ed489f43ae264e07f3cea7b8027cbb
369
368
2017-03-08T13:17:20Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
d7eeddb6f86fe2e156e1a245859105cf84315a98
ATF
0
54
366
2017-03-08T13:09:41Z
Kever
2
Created page with "<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> <pre>sudo apt-get install gcc-arm-none-eabi</pre> <pre>$ cat mk-atf.sh #!/bin/b..."
wikitext
text/x-wiki
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
8e69c5c1de77613bb8f502af4aec10a41019f187
RK3399
0
21
371
310
2017-03-08T13:22:26Z
Kever
2
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board]]
Firefly: [[Firefly-RK3399]]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
e03314b22f425d6ccf8133a30897f82d70786da6
385
371
2017-03-09T01:35:44Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= History =
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board]]
Firefly: [[Firefly-RK3399]]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
dc8384eac4cf62d8ddebc752c9e24c96b57ed4c3
386
385
2017-03-09T01:37:56Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
300a40ecc5afd676732fafe3e8be71467cf74019
Devices
0
49
372
333
2017-03-08T13:27:28Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly-RK3288
ASUS: Tinker Board
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399]]
= RK3328 Boards =
fe073f870c7317b3d54a91213232ec6509e88b4a
RK3288
0
20
373
322
2017-03-08T13:29:45Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
= <span style="font-family:tahoma,geneva,sans-serif;">Test Line leading performance,long-standing heritage</span> =
= <span style="font-family:tahoma,geneva,sans-serif;">integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM</span> =
=== integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore ===
= Test Line leading performance,long-standing heritage =
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
#Test Line leading performance,long-standing heritage
#*Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
18a725e17691f7cf7cfce02cebe07fa70c392ddc
374
373
2017-03-08T13:30:37Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
#Test Line leading performance,long-standing heritage
#*Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
#Test Line leading performance,long-standing heritage
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
658f54b9671894f6334a09e1a8afe6482b4bfd2a
375
374
2017-03-08T13:31:02Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
6a54ba43efa45c493901495e975f6a51b2d1f5fc
379
375
2017-03-09T01:17:54Z
Kevan
10
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website =
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
aeb5b071420596f108802f5c9148e88094ed8daa
380
379
2017-03-09T01:27:18Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
99c2a73074807e1a541838d651c7def3afa085ee
384
380
2017-03-09T01:30:47Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
95882c093f04c2a98c93f6419f74e9d8a83f49b6
397
384
2017-03-09T02:20:18Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
cb382b2296e68c60ac04892f1af622f081070843
398
397
2017-03-09T02:20:38Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
95882c093f04c2a98c93f6419f74e9d8a83f49b6
400
398
2017-03-09T02:22:24Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
429395698110dab54eefa7db85d593c89caf6134
401
400
2017-03-09T02:22:35Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= History =
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
Yu can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
[[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
If you need this board, please contact with the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
There is no support for the RK3288
= References =
1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0]
2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
= Exteneral Links =
[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
95882c093f04c2a98c93f6419f74e9d8a83f49b6
Template:Infobox SoC
10
43
376
318
2017-03-09T01:13:31Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
<a rel="nofollow" class="external text" href="{{{website}}}">Product Page</a></td></tr>
</table>
7a0320d94affb2761a8e2a4517cafe253df38d2b
377
376
2017-03-09T01:14:52Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]</td></tr>
</table>
95d72d7169dd27bae539d55764b3b93a0fa55b82
378
377
2017-03-09T01:16:04Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[[{{{website}}}|Product Page]]
</td></tr>
</table>
6c8aa172c5fea67099197748ee0e5963b6454b30
381
378
2017-03-09T01:27:57Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[[{{{website}}}| Product Page]]
</td></tr>
</table>
19e09044cc9ba1434458fe0f3f24edc5576889e2
382
381
2017-03-09T01:29:33Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:250px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
d1e20764f45cdf5eb86f89cf657b8ca0990294a7
383
382
2017-03-09T01:30:03Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
451ac23eed4f2b25119d97ec39327c8406175281
396
383
2017-03-09T02:19:49Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
{{#if:{{{title|}}}<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>}}
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
47961937dd627106c97e50a4148e804282cea54f
399
396
2017-03-09T02:22:11Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
{{#if:{{{title|}}} | <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>}}
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
0e7dd80d5def8b8aba66d540fa432f0612df3263
402
399
2017-03-09T02:23:22Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
<!--
Title
-->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
fea8f50d51e13efc14959519c8e3b722b90100cf
403
402
2017-03-09T02:23:51Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
{{#if:{{{title|}}}|<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>}}
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
61effb19834e7b28b76d687f686af1e4b6382421
RK3328
0
24
391
269
2017-03-09T01:58:27Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
ed9ed351f89a9e9e7fd96a50c9838312ac9f48a4
392
391
2017-03-09T01:59:18Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC1
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
517c35f1820d2a69f8f2b03927f0c306d4cf8b1e
Template:Infobox SoC1
10
56
393
2017-03-09T01:59:34Z
Kever
2
Created page with "{{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle..."
wikitext
text/x-wiki
{{infobox
| above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}}
| abovestyle = background: #dedede;
| image = {{{image|}}}
| caption = {{{caption|}}}
| headerstyle = background: #dedede;
| header1 =
| label1 = Manufacturer
| data1 = {{{manufacturer|}}}
| header2 =
| label2 = Process
| data2 = {{{process|}}}
| header3 =
| label3 = CPU
| data3 = {{{cpu|}}}
| header4 =
| label4 = L2
| data4 = {{{l2|}}}
| header5 =
| label5 = Extensions
| data5 = {{{extensions|}}}
| header6 =
| label6 = Memory
| data6 = {{{memory|}}}
| header7 =
| label7 = GPU
| data7 = {{{gpu|}}}
| header8 =
| label8 = VPU
| data8 = {{{vpu|}}}
| header9 =
| label9 = APU
| data9 = {{{apu|}}}
| header10 = Connectivity
| label10 =
| data10 =
| header11 =
| label11 = Video
| data11 = {{{video|}}}
| header12 =
| label12 = Audio
| data12 = {{{audio|}}}
| header13 =
| label13 = Network
| data13 = {{{network|}}}
| header14 =
| label14 = Storage
| data14 = {{{storage|}}}
| header15 =
| label15 = USB
| data15 = {{{usb|}}}
| header16 =
| label16 = Other
| data16 = {{{other|}}}
| header17 =
| label17 = Release Date
| data17 = {{{release_date|}}}
| header18 =
| label18 = Website
| data18 = {{{website|}}}
}}
9af7362d36472ab4f99eac9c884387201556eed6
Template:Infobox/row
10
48
394
312
2017-03-09T02:00:04Z
Kever
2
wikitext
text/x-wiki
<includeonly>{{#if:{{{header|}}}
|<tr><th colspan="2" class="{{{class|}}}" style="text-align:center; {{{headerstyle|}}}">{{{header}}}</th></tr>
|{{#if:{{{data|}}}
|<tr class="{{{rowclass|}}}">{{#if:{{{label|}}}
|<th scope="row" style="text-align:left; {{{labelstyle|}}}">{{{label}}}</th><td class="{{{class|}}}" style="{{{datastyle|}}}">
|<td colspan="2" class="{{{class|}}}" style="text-align:center; {{{datastyle|}}}">
}}
{{{data}}}</td></tr>
}}
}}</includeonly><noinclude>
== Usage ==
<pre>{{Infobox/row
| header = Header text
| class = optional_th_class
| headerstyle = optional_th_style
}}</pre>
<pre>{{Infobox/row
| label = Optional label text
| data = Actual data
| rowclass = optional_tr_class
| class = optional_td_class
| labelstyle = optional_th_style
| datastyle = optional_td_style
}}</pre>
=== Template Attributes ===
{| class="wikitable"
! name
! description
|-
! header
| Header Text, if a this row is a header
|-
! data
| Data Text, if this row is not a header
|-
! label
| Optional label Text, if this row is not a header
|}
== See also ==
* {{tl|Infobox/begin}}
* {{tl|Infobox/end}}
* {{tl|Infobox}}
[[Category:Infobox]]</noinclude>
01f0a3f76fdf1d8c11e94e1f34d9433254b4d4a9
Template:Tl
10
57
395
2017-03-09T02:00:19Z
Kever
2
Created page with "<includeonly><tt><nowiki>{{</nowiki>[[Template:{{{1|}}}|{{{1|}}}]]<nowiki>}}</nowiki></tt></includeonly><noinclude> == Usage == <pre>{{tl|template_name}}</pre> </noinclude>"
wikitext
text/x-wiki
<includeonly><tt><nowiki>{{</nowiki>[[Template:{{{1|}}}|{{{1|}}}]]<nowiki>}}</nowiki></tt></includeonly><noinclude>
== Usage ==
<pre>{{tl|template_name}}</pre>
</noinclude>
75164e415d596d34e73e8998203fe97577f52ec4
Fastboot
0
12
406
405
2017-03-09T02:54:28Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== 1.3 '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
3d3c4608f16991e64fac20a78879f0b76175007f
407
406
2017-03-09T02:55:13Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== '''Fastboot Unlock''' ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
55b4e542890279affff5802ff0c80a70cc45bde7
408
407
2017-03-09T02:55:24Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== 1.2 Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== 1.2.2 Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
18695b46fc30277921c1aa1286d42f710bb8c51c
409
408
2017-03-09T02:55:42Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
fastboot flash <partition_name> <filename> 烧写固件
(如:fastboot flash system system.img。
烧写parameter/loader时,需指定分区名为”parameter”/”loader”)
fastboot update <filename> 烧写升级包
(升级包通过在android源码中make updatepackage生成)
== Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
53cff11648634f27a521fe9e0d1c0d7e44160f53
412
409
2017-03-09T03:14:26Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
To Download Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img
When download the parameter or loader,需指定分区名为”parameter”/”loader”)
To Update package
<pre>fastboot update <filename>
</pre>
(升级包通过在android源码中make updatepackage生成)
== Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
3b04213e22d9bd142436d551237d9f7eb7ed27fc
413
412
2017-03-09T03:18:11Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
To Download Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img
When download the parameter or loader,需指定分区名为”parameter”/”loader”)
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
(升级包通过在android源码中make updatepackage生成)
== Reboot ==
{| border="0" cellpadding="0" cellspacing="0" width="760"
|-
| style="width:608px;" |
fastboot oem recovery 重启进recovery
fastboot oem recovery:wipe_data 重启恢复出厂设置
fastboot reboot 重启
fastboot reboot-bootloader 重启进入rockusb烧写模式
fastboot continue 重启
|}
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
e8ce107b0aa9ac63e01290d6d8b820a0d082b893
418
413
2017-03-09T03:25:39Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
To Download Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img
When download the parameter or loader,需指定分区名为”parameter”/”loader”)
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
(升级包通过在android源码中make updatepackage生成)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
5b2c083f6a08f47932e1a001a3b492c6ebd1bdf8
422
418
2017-03-09T03:42:14Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name></pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img
When download the parameter or loader,you need assign the partition name as "parameter" or "loader")
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
fffbc1bf0aca9b1bddc78b1a2a93f23eda742347
423
422
2017-03-09T03:42:40Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img
When download the parameter or loader,you need assign the partition name as "parameter" or "loader")
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
a9193a6f8a9eb4bbd6924340101438b3e6c2bf77
424
423
2017-03-09T03:44:20Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
fastboot oem unlock 解锁
fastboot oem unlock_accept 确认解锁
(需要在fastboot oem unlock命令后,5秒内输入)
fastboot oem lock 锁住设备
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
36d42d67845ed34ed834b337e8785625591ab366
425
424
2017-03-09T03:48:18Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
8c272ba748a73beee0478d7f5759bafd6cffaff6
426
425
2017-03-09T03:48:39Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
2e510c2abddc443ba4698cf7a730bca27ba160ad
427
426
2017-03-09T03:52:16Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
fastboot boot <kernel> [ <ramdisk> ] 临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
fastboot oem log 获取串口log信息
fastboot oem ucmd <UBOOT cmds> 运行UBOOT命令 </pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
a4952c278cc6a650e88bf6c4872b6538c7898189
428
427
2017-03-09T03:54:19Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
398961a26b7a9897ad6472bebf578cafda0e1522
429
428
2017-03-09T06:06:08Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download the Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
acb1d68eb8bdce743cdda097a49d2cd2c950cde8
430
429
2017-03-09T06:06:52Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== ===Download the Image=== ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
dbf2a9794c6c4279d936295226fc98eae9f700fd
431
430
2017-03-09T06:09:42Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
=== Download the Image ===
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
139ab34f9ab6647f8ecfd34d0367d0fda7641ffa
432
431
2017-03-09T06:10:38Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
重启进recovery
<pre>fastboot oem recovery </pre>
重启恢复出厂设置
<pre>fastboot oem recovery:wipe_data</pre>
Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To 确认解锁(需要在fastboot oem unlock命令后,5秒内输入)
<pre>fastboot oem unlock_accep</pre>
锁住设备
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
b037f25ad17cc399bba5ca9deee4ce82569fe1c2
442
432
2017-03-09T07:12:10Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To Flash Image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To Update Firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
To recovery
<pre>fastboot oem recovery </pre>
To recovery and restore
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command)
<pre>fastboot oem unlock_accep</pre>
To lock the device
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
6567aee05d2cc9c0223fa9ab67892bd391008315
443
442
2017-03-09T07:12:38Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash Android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash Android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To Get Version:
<pre>fastboot getvar version</pre>
To Get Version:
<pre>fastboot getvar version-bootloader
</pre>
To Get Unlocked:
<pre>fastboot getvar unlocked
</pre>
To Get Locked:
<pre>fastboot getvar secure</pre>
To Get Product Information:
<pre>fastboot getvar product</pre>
To Get Serialno:
<pre>fastboot getvar serialno</pre>
To Get Partition Type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To Get Partition Size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To Get Partition Offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To update firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
To recovery
<pre>fastboot oem recovery </pre>
To recovery and restore
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot
<pre>fastboot reboot</pre>
重启进入rockusb烧写模式
<pre>fastboot reboot-bootloader</pre>
<pre>fastboot continue
</pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command)
<pre>fastboot oem unlock_accep</pre>
To lock the device
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
2c499c7a4052205503add8037a7ceccdfdcf3757
445
443
2017-03-09T07:20:00Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To update firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
To recovery
<pre>fastboot oem recovery </pre>
To recovery and restore
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command)
<pre>fastboot oem unlock_accep</pre>
To lock the device
<pre>fastboot oem lock
</pre>
=== Special Command ===
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
<pre>fastboot oem log</pre>
获取串口log信息
<pre>fastboot oem ucmd <UBOOT cmds></pre>
运行UBOOT命令
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
1973962026a8e97798f01ca3afe82dd6a298f435
447
445
2017-03-09T07:29:10Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To update firmware
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
To recovery
<pre>fastboot oem recovery </pre>
To recovery and restore
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command)
<pre>fastboot oem unlock_accep</pre>
To lock the device
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
To get log info
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
fbe198c7e9782d19e6c4af7431070614d2193474
448
447
2017-03-09T07:29:27Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
To recovery
<pre>fastboot oem recovery </pre>
To recovery and restore
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command)
<pre>fastboot oem unlock_accep</pre>
To lock the device
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动
(kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中)
To get log info
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
044760574e9c5a4698aad154de8351d0b7cc1bda
449
448
2017-03-09T07:30:05Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "parameter" or "loader"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code which is “make updatepackage”)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) To get log info
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
91b339498a57cfba01569c315d0cd58e4bbdd519
455
449
2017-03-09T07:54:52Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) To get log info
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
418ea9555298fcbb0da8655e71fbe845f282cf6e
RK3328
0
24
410
392
2017-03-09T03:13:19Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3288_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
bd4e82d24cb483d504269f15be8e8ef918387015
414
410
2017-03-09T03:18:37Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu =
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = [http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html| Product Page]
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
a52c71baf8dc0875b20d610cdb3f0d60741a7914
415
414
2017-03-09T03:20:43Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = [ http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page]
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
2cdc20785285f2ad3bab35b5191dde3a0535e69e
416
415
2017-03-09T03:21:51Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
9c0cb95c3985b676ee42aa54e98754797a4df6ef
417
416
2017-03-09T03:22:54Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
bb39559c3e5b2e6d50c9c1f86694cff92f351df9
File:Rk3328 soc.png
6
58
411
2017-03-09T03:14:24Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:Infobox SoC
10
43
419
403
2017-03-09T03:25:58Z
Kever
2
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]
</td></tr>
</table>
451ac23eed4f2b25119d97ec39327c8406175281
RK3288
0
20
420
401
2017-03-09T03:36:53Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c6eba081680bfee7b9931cc44dc821baf9f9c133
434
420
2017-03-09T06:28:44Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core #REDIRECT which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
acce92f3c0ccdddd9f1eb1f524bb7da8f078e20f
435
434
2017-03-09T06:29:27Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers an extensible, leading performance,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c3e66409cf44cdea9cb46e1a152346b0dfcc5335
436
435
2017-03-09T06:38:52Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
--[[User:Kever|Kever]] ([[User talk:Kever|talk]]) 14:38, 9 March 2017 (CST)
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
3f8a8b58173ea9d706ae0cf8218929388863dbee
437
436
2017-03-09T06:41:35Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
4c9b8429f30f22b8d8e347ab3bf516202998f844
Devices
0
49
421
372
2017-03-09T03:38:34Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
[[Firefly-RK3288]]
[[ASUS_Tinker|ASUS Tinker Board]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
= RK3328 Boards =
ec895d53e65ab77c46e8371ac745cc03b0da0dcb
File:RK3399 Linux Buildroot System Development Guide.pdf
6
26
433
222
2017-03-09T06:20:53Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Buildroot System Development Guide.pdf]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
438
433
2017-03-09T06:43:35Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Buildroot System Development Guide.pdf]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
U-Boot
0
11
439
353
2017-03-09T06:46:02Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
This image is suppose to flash to offset 0x64.
For <var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
0ff3c7147796f574e8567982409bde2d3413a22a
440
439
2017-03-09T06:49:38Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is suppose to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
2974b542e3b30b8e52bb7be6e6294598f701a6e5
RK3399
0
21
441
386
2017-03-09T06:54:00Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
133b2f3c546405724931c7c80f9d6d8352343761
444
441
2017-03-09T07:17:56Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j4</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 </div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
0522e947a5496232b41f98437d07013f00474b4c
446
444
2017-03-09T07:20:31Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j4</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 </div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
2d9cca6fb7473732de6b384d2eb1e69210d16cba
450
446
2017-03-09T07:36:59Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 </div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
b06ca5cce6bed74faa262fb010678889c131f2dc
451
450
2017-03-09T07:38:26Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 </div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
e2bd4bae1c49ef95ff7e52e92184c2cc807c1127
452
451
2017-03-09T07:40:02Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 </div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
e8eee01ac7150f21eb698abaa954da5bc977e4b3
453
452
2017-03-09T07:43:05Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
ba508acc9e34e568dccf2d4b86cde983bc65a324
454
453
2017-03-09T07:46:00Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
d40e63b53421825d5d111326c4eaa2b2186d2c57
Fastboot
0
12
456
455
2017-03-09T08:07:48Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
aae53c9eb22cb31a2f42e5b462b8c4198877d79c
457
456
2017-03-09T08:11:14Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after inputing fastboot oem unlock command):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
With locked fastboot,it is
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
e0e6d8c4d1d87cca668e18c3b9df2689b17fd269
462
457
2017-03-09T11:16:30Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
With locked fastboot,it is
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
00bad245bbf0f2c7e6fe36040f76f6a4e042f90e
463
462
2017-03-09T11:17:20Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Fastboot Unlock ==
With locked fastboot,it is
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
a3f6ebdefaf21ea5ca80aa074a47f2f000546a45
464
463
2017-03-09T11:39:30Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your device via fastboot ==
With locked fastboot,it is
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
解锁流程大致如下:
1、执行fastboot oem unlock
2、5秒内继续执行fastboot oem unlock_accept
3、机器会重启进入recovery恢复出厂设置
4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁)
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
d464aa452c5f3564da0325138ea2e5136efe6838
465
464
2017-03-09T12:00:22Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your device via fastboot ==
With locked fastboot,it is
fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。
'''To relock the bootloader''':
1、 Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、机器会重启进入recovery恢复出厂设置
4、Now put your device into fastboot mode, and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
what if the device have entered into fastboot mode with note that ,
如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked
28f3a1c6574dc53e2acb20ac74942c966cb65366
466
465
2017-03-09T12:38:58Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your device via fastboot ==
Initially,it is not allow you perform flash ot oem command with locked fastboot.
'''To relock''':
1、 Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、you device will reboot and recovery
4、Now put your device into fastboot mode, and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
what if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i</var>'''into your command in order to assign device ID.
For example:fastboot -i 0x2207 getvar unlocked
3480d2990694ab86b0cd7800c52d0bc678a2441d
467
466
2017-03-09T12:39:30Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your device via fastboot ==
Initially,it is not allow you perform flash ot oem command with locked fastboot.
'''To relock''':
1、Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、you device will reboot and recovery
4、Now put your device into fastboot mode, and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
what if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i</var>'''into your command in order to assign device ID.
For example:fastboot -i 0x2207 getvar unlocked
97cee11201ab74fe578b62fc12f9d8ee8304698e
471
467
2017-03-10T01:13:51Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your device via fastboot ==
Initially,it is not allow you perform flash ot oem command with locked fastboot.
'''To relock''':
1、Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、You device will reboot and recovery
4、Now put your device into fastboot mode and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
what if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i </var>'''into your command in order to assign device ID.
For example:fastboot -i 0x2207 getvar unlocked
a8e3848e37ff6107f5f8dfcaa3650bb9307e72d5
479
471
2017-03-10T01:59:26Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your device via fastboot ==
Initially,it is not allow you perform flash or oem command with locked fastboot.
'''To relock''':
1、Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、You device will reboot and recovery
4、Now push your device into fastboot mode again and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
What if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i </var>'''into your command in order to assign device ID.
For example:fastboot -i 0x2207 getvar unlocked
356b74441fdd7beea4a7b28c6b88e1529ab4890e
RK3328
0
24
458
417
2017-03-09T08:47:17Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
empty
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
b40ac609a800360b2a64df43c3643f35abaea130
459
458
2017-03-09T08:50:31Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
empty
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
For ARM V8 (RK3399 optimized SDK)
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
dba2ffa90eac599cc14310c1808ba0ed223e6934
460
459
2017-03-09T08:51:04Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
empty
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
= Exteneral Links =
f971ebf85956326ff8d2d32a6d7ea89daed0e291
475
460
2017-03-10T01:43:44Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= History =
empty
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
4bd18ce9c7d0412e5ab33835d9fda68f6e22c4b6
476
475
2017-03-10T01:44:21Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali-450MP2
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 1.4,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
3a2db46f98eb262bf6ebb5292c019bb4926f82c9
Excavator sapphire board
0
59
461
2017-03-09T09:56:43Z
Chery
9
Created page with " = Rockchip github status = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status = - ups..."
wikitext
text/x-wiki
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
- 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等)
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
3028b6502de9d3df674925ce329cd5f9a3d4f3bd
487
461
2017-03-10T03:25:21Z
Chery
9
wikitext
text/x-wiki
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
|-
| excavator
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
- 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等)
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
f9aa6d7f380a559ad282097a6586d3f9e84ae423
488
487
2017-03-10T03:25:45Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| excavator
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
- 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等)
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
e0213eca2348243bcecab7d264a392c622e19dad
490
488
2017-03-10T03:27:29Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
- 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等)
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
0d127bd3477aea66b210ef76b53f8355331ec676
492
490
2017-03-10T03:31:06Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
3624fec9859f628349c6d7a5eb7845262a88bde0
494
492
2017-03-10T03:36:37Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
58dd080a37364870a803ed92c12c03fb8dfcf856
RK3399
0
21
468
454
2017-03-10T01:04:20Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
13fd5a5155c2f046e22411f579d39bce75126df7
469
468
2017-03-10T01:06:40Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
ef6a217ed7471d1ca308b2e6bfe93ec6dfac3a8d
470
469
2017-03-10T01:08:20Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]] from Rockchip to build rootfs yourselves.
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
2dbbd72fbc99533a85ca47b0f3c260bec5624cc3
472
470
2017-03-10T01:15:29Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
f49a128943f466c4c73df7f8d561e643b1f262ce
473
472
2017-03-10T01:24:05Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,You can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://wiki.t-firefly.com/index.php/Firefly-RK3399</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= Owners of the SoC on IRC =
= Commuity Support =
= References =
= Exteneral Links =
87a83380a191b061e8864148c6c61836f9494678
474
473
2017-03-10T01:42:51Z
Karen
3
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,You can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
15d50283bcbc1ac091d01062f1a40f8493e620bf
495
474
2017-03-10T03:57:00Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
f2c1d195d12f3d2e45564f489a46d98fcce673f0
Template:Infobox SoC1
10
56
481
393
2017-03-10T02:13:15Z
Admin
1
Replaced content with "111"
wikitext
text/x-wiki
111
6216f8a75fd5bb3d5f22b6f9958cdede3fc086c2
482
481
2017-03-10T02:14:19Z
Admin
1
wikitext
text/x-wiki
{{Infobox
| above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}}
| abovestyle = background: #dedede;
| image = {{{image|}}}
| caption = {{{caption|}}}
| headerstyle = background: #dedede;
| header1 =
| label1 = Manufacturer
| data1 = {{{manufacturer|}}}
| header2 =
| label2 = Process
| data2 = {{{process|}}}
| header3 =
| label3 = CPU
| data3 = {{{cpu|}}}
| header4 =
| label4 = L2
| data4 = {{{l2|}}}
| header5 =
| label5 = Extensions
| data5 = {{{extensions|}}}
| header6 =
| label6 = Memory
| data6 = {{{memory|}}}
| header7 =
| label7 = GPU
| data7 = {{{gpu|}}}
| header8 =
| label8 = VPU
| data8 = {{{vpu|}}}
| header9 =
| label9 = APU
| data9 = {{{apu|}}}
| header10 = Connectivity
| label10 =
| data10 =
| header11 =
| label11 = Video
| data11 = {{{video|}}}
| header12 =
| label12 = Audio
| data12 = {{{audio|}}}
| header13 =
| label13 = Network
| data13 = {{{network|}}}
| header14 =
| label14 = Storage
| data14 = {{{storage|}}}
| header15 =
| label15 = USB
| data15 = {{{usb|}}}
| header16 =
| label16 = Other
| data16 = {{{other|}}}
| header17 =
| label17 = Release Date
| data17 = {{{release_date|}}}
| header18 =
| label18 = Website
| data18 = {{{website|}}}
}}
d6f9d9bcd1d141ca7782e158ac07fbdcebfdcdb2
Template:Infobox
10
41
484
280
2017-03-10T02:24:57Z
Admin
1
Replaced content with "{{{image}}}"
wikitext
text/x-wiki
{{{image}}}
2bfd2a1217c99508ceac56f305441be044952834
486
484
2017-03-10T02:27:51Z
Admin
1
wikitext
text/x-wiki
<includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}">
<!--
Title
-->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!--
Header
-->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}}
{{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!--
Image
-->{{#if:{{{image|}}}|{{Infobox/row
|data={{{image}}}{{#if:{{{caption|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|}}}</span>}}
|datastyle={{{imagestyle|}}}
|class={{{imageclass|}}}
|rowclass={{{imagerowclass|}}}
}} }}<!--
Data rows
-->{{Infobox/row
|header={{{header1|}}} |headerstyle={{{headerstyle|}}}
|label={{{label1|}}} |labelstyle={{{labelstyle|}}}
|data={{{data1|}}} |datastyle={{{datastyle|}}}
|class={{{class1|}}} |rowclass={{{rowclass1|}}}
}}{{Infobox/row
|header={{{header2|}}} |headerstyle={{{headerstyle|}}}
|label={{{label2|}}} |labelstyle={{{labelstyle|}}}
|data={{{data2|}}} |datastyle={{{datastyle|}}}
|class={{{class2|}}} |rowclass={{{rowclass2|}}}
}}{{Infobox/row
|header={{{header3|}}} |headerstyle={{{headerstyle|}}}
|label={{{label3|}}} |labelstyle={{{labelstyle|}}}
|data={{{data3|}}} |datastyle={{{datastyle|}}}
|class={{{class3|}}} |rowclass={{{rowclass3|}}}
}}{{Infobox/row
|header={{{header4|}}} |headerstyle={{{headerstyle|}}}
|label={{{label4|}}} |labelstyle={{{labelstyle|}}}
|data={{{data4|}}} |datastyle={{{datastyle|}}}
|class={{{class4|}}} |rowclass={{{rowclass4|}}}
}}{{Infobox/row
|header={{{header5|}}} |headerstyle={{{headerstyle|}}}
|label={{{label5|}}} |labelstyle={{{labelstyle|}}}
|data={{{data5|}}} |datastyle={{{datastyle|}}}
|class={{{class5|}}} |rowclass={{{rowclass5|}}}
}}{{Infobox/row
|header={{{header6|}}} |headerstyle={{{headerstyle|}}}
|label={{{label6|}}} |labelstyle={{{labelstyle|}}}
|data={{{data6|}}} |datastyle={{{datastyle|}}}
|class={{{class6|}}} |rowclass={{{rowclass6|}}}
}}{{Infobox/row
|header={{{header7|}}} |headerstyle={{{headerstyle|}}}
|label={{{label7|}}} |labelstyle={{{labelstyle|}}}
|data={{{data7|}}} |datastyle={{{datastyle|}}}
|class={{{class7|}}} |rowclass={{{rowclass7|}}}
}}{{Infobox/row
|header={{{header8|}}} |headerstyle={{{headerstyle|}}}
|label={{{label8|}}} |labelstyle={{{labelstyle|}}}
|data={{{data8|}}} |datastyle={{{datastyle|}}}
|class={{{class8|}}} |rowclass={{{rowclass8|}}}
}}{{Infobox/row
|header={{{header9|}}} |headerstyle={{{headerstyle|}}}
|label={{{label9|}}} |labelstyle={{{labelstyle|}}}
|data={{{data9|}}} |datastyle={{{datastyle|}}}
|class={{{class9|}}} |rowclass={{{rowclass9|}}}
}}{{Infobox/row
|header={{{header10|}}} |headerstyle={{{headerstyle|}}}
|label={{{label10|}}} |labelstyle={{{labelstyle|}}}
|data={{{data10|}}} |datastyle={{{datastyle|}}}
|class={{{class10|}}} |rowclass={{{rowclass10|}}}
}}{{Infobox/row
|header={{{header11|}}} |headerstyle={{{headerstyle|}}}
|label={{{label11|}}} |labelstyle={{{labelstyle|}}}
|data={{{data11|}}} |datastyle={{{datastyle|}}}
|class={{{class11|}}} |rowclass={{{rowclass11|}}}
}}{{Infobox/row
|header={{{header12|}}} |headerstyle={{{headerstyle|}}}
|label={{{label12|}}} |labelstyle={{{labelstyle|}}}
|data={{{data12|}}} |datastyle={{{datastyle|}}}
|class={{{class12|}}} |rowclass={{{rowclass12|}}}
}}{{Infobox/row
|header={{{header13|}}} |headerstyle={{{headerstyle|}}}
|label={{{label13|}}} |labelstyle={{{labelstyle|}}}
|data={{{data13|}}} |datastyle={{{datastyle|}}}
|class={{{class13|}}} |rowclass={{{rowclass13|}}}
}}{{Infobox/row
|header={{{header14|}}} |headerstyle={{{headerstyle|}}}
|label={{{label14|}}} |labelstyle={{{labelstyle|}}}
|data={{{data14|}}} |datastyle={{{datastyle|}}}
|class={{{class14|}}} |rowclass={{{rowclass14|}}}
}}{{Infobox/row
|header={{{header15|}}} |headerstyle={{{headerstyle|}}}
|label={{{label15|}}} |labelstyle={{{labelstyle|}}}
|data={{{data15|}}} |datastyle={{{datastyle|}}}
|class={{{class15|}}} |rowclass={{{rowclass15|}}}
}}{{Infobox/row
|header={{{header16|}}} |headerstyle={{{headerstyle|}}}
|label={{{label16|}}} |labelstyle={{{labelstyle|}}}
|data={{{data16|}}} |datastyle={{{datastyle|}}}
|class={{{class16|}}} |rowclass={{{rowclass16|}}}
}}{{Infobox/row
|header={{{header17|}}} |headerstyle={{{headerstyle|}}}
|label={{{label17|}}} |labelstyle={{{labelstyle|}}}
|data={{{data17|}}} |datastyle={{{datastyle|}}}
|class={{{class17|}}} |rowclass={{{rowclass17|}}}
}}{{Infobox/row
|header={{{header18|}}} |headerstyle={{{headerstyle|}}}
|label={{{label18|}}} |labelstyle={{{labelstyle|}}}
|data={{{data18|}}} |datastyle={{{datastyle|}}}
|class={{{class18|}}} |rowclass={{{rowclass18|}}}
}}{{Infobox/row
|header={{{header19|}}} |headerstyle={{{headerstyle|}}}
|label={{{label19|}}} |labelstyle={{{labelstyle|}}}
|data={{{data19|}}} |datastyle={{{datastyle|}}}
|class={{{class19|}}} |rowclass={{{rowclass19|}}}
}}{{Infobox/row
|header={{{header20|}}} |headerstyle={{{headerstyle|}}}
|label={{{label20|}}} |labelstyle={{{labelstyle|}}}
|data={{{data20|}}} |datastyle={{{datastyle|}}}
|class={{{class20|}}} |rowclass={{{rowclass20|}}}
}}
{{Infobox/row
|header={{{header21|}}} |headerstyle={{{headerstyle|}}}
|label={{{label21|}}} |labelstyle={{{labelstyle|}}}
|data={{{data21|}}} |datastyle={{{datastyle|}}}
|class={{{class21|}}} |rowclass={{{rowclass21|}}}
}}
</table></includeonly>
48cb67a4c9c663a64feb97c5ff055aa6a71e4b0c
File:RK3399 EVB User Guide-20160920.pdf
6
62
491
2017-03-10T03:29:42Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3288
0
20
497
437
2017-03-10T06:12:08Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
336921a746aca280e53fa48e204a0e5560de2201
510
497
2017-03-10T08:29:59Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = Mali
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
a4644050f3192125733ab07e7ee48b2a265b13e4
511
510
2017-03-10T08:32:38Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764 GPU
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
aefc0f4457f5324384afac3be94a2fdc4ef10007
512
511
2017-03-10T08:33:09Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
0f438a85cf58677bffa1103eac327ca7fe2b3599
513
512
2017-03-10T08:43:02Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
15fd6a1a9575e0b1d13f50ce07c576bf57235bcc
520
513
2017-03-10T09:00:57Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
f1057bd4553b3fe51cfb6b7a89d2875ccf8c750b
527
520
2017-03-10T09:23:48Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
| style="width: 429px;" |
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
5f7f6e0a6772cf49c5ac3518287b6a38b403d35b
529
527
2017-03-10T09:25:07Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span>
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
*OS:
**Support Android 4.2 or up
| style="width: 429px;" | [[File:3288.png]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
e1026ef894a3b74c6842503bce43110aeaecebbd
Popmetal
0
29
505
236
2017-03-10T08:09:19Z
Karen
3
wikitext
text/x-wiki
{|
|-
| CPU
| RK3288 Quad-core ARM Cortex-A17
|-
| GPU
| Mali 760MP4
|-
| Memory
| 2GB DDR3
|-
| Storage
| 16GB eMMC, MicroSD (TF) Card, SATA 2.0
|-
| Connectivity
| 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
|-
| Interface
| 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port
|}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
e5d3a12b0b39078c8ac49e9be3b62ca23f1afc20
509
505
2017-03-10T08:28:17Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
{|
|-
| CPU
| RK3288 Quad-core ARM Cortex-A17
|-
| GPU
| Mali 760MP4
|-
| Memory
| 2GB DDR3
|-
| Storage
| 16GB eMMC, MicroSD (TF) Card, SATA 2.0
|-
| Connectivity
| 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
|-
| Interface
| 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port
|}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
3dce03fe405f8199ee44c0d9085168169c06040b
526
509
2017-03-10T09:11:38Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = December 2012
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
{|
|-
| CPU
| RK3288 Quad-core ARM Cortex-A17
|-
| GPU
| Mali 760MP4
|-
| Memory
| 2GB DDR3
|-
| Storage
| 16GB eMMC, MicroSD (TF) Card, SATA 2.0
|-
| Connectivity
| 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
|-
| Interface
| 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port
|}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
04eebc9a2f48e3db8e2f8fe02ae4fb5c1cf5d133
Template:Infobox SoC
10
43
521
419
2017-03-10T09:06:12Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
{{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{Connectivity}}}</td></tr>}}
{{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{Interface}}}</td></tr>}}
{{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>}}
{{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>}}
{{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]}}
</td></tr>
</table>
73c17701ddabf4ac542f623e36c36e695b9cb1b0
522
521
2017-03-10T09:06:51Z
Admin
1
wikitext
text/x-wiki
<table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
{{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style="">
{{{Connectivity}}}</td></tr>}}
{{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style="">
{{{Interface}}}</td></tr>}}
{{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>}}
{{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>}}
{{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]}}
</td></tr>
</table>
3eb1b7aca07dc1b5df0d22916803ae81bc82d2e3
524
522
2017-03-10T09:08:57Z
Admin
1
wikitext
text/x-wiki
<includeonly><table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
{{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style="">
{{{Connectivity}}}</td></tr>}}
{{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style="">
{{{Interface}}}</td></tr>}}
{{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>}}
{{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>}}
{{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]}}
</td></tr>
</table></includeonly>
0c5321c2107cde3540d18dfdaf644ff71fc4db67
File:3288.png
6
67
528
2017-03-10T09:24:09Z
Karen
3
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Display Server
0
70
532
2017-03-10T09:29:38Z
Karen
3
Created page with " = Introduction<br/> Download<br/> Supported Devices<br/> Configuration/Environment<br/> Package = = Install<br/> 软件主要的功能/配置方法说明<br/> See also<br/>..."
wikitext
text/x-wiki
= Introduction<br/> Download<br/> Supported Devices<br/> Configuration/Environment<br/> Package =
= Install<br/> 软件主要的功能/配置方法说明<br/> See also<br/> References =
da1df28067e9b97e8e49688e25284f7d6b984b34
534
532
2017-03-10T09:30:46Z
Karen
3
wikitext
text/x-wiki
= Introduction =
= <br/> Download =
= <br/> Supported Devices =
= <br/> Configuration/Environment =
= <br/> Package =
= Install =
= 软件主要的功能/配置方法说明 =
= See also =
= References =
29ee939fb8760fd5f5516368b6c53afd5a8364ca
Excavator sapphire board
0
59
535
494
2017-03-10T09:35:29Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
RK3399_SOC-package_PIN_DELAY
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
b29d6168e43d0611cdf530d718c1c8d77104b186
538
535
2017-03-10T09:36:31Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
= Image =
- Image, 如有有提供固件, 提供下载链接
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
a1c4cc9fe26ebe1997416057be49b3798809eb5b
539
538
2017-03-10T09:40:19Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
= Image =
You can download image directly from below link if available.
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
62571e3fecaf2b9727531e47ad66c52e49abf312
540
539
2017-03-10T09:44:54Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
== Component datasheet ==
PHY-RTL8211E(G)-VB(VL)-CG_1.8
WIFI-AP6335_V1.2_08152013
DC-DC_SYR837_838
AN_SYR837_8_Rockchip
USB-TYPE-C_REC_150609
DC-DC_NB679_r1.02
WIFI-AP6354_V1.1_06062014
TI NMOS 7.8mR@10V csd17551q3a
TI PMOS 7.7mR csd25402q3a
FUSB302B
PHY-ZX2AA500-V0.35
USB-HUB_GL852G-126
MEMS-MSM261S4030H0
WIFI-AP6356S_V1.1_03182015
MIPI-TC358749XBG_V074
Charging IC Power Inductor ihlp3232cz01
bq25700_SLUSCP0
= Image =
You can download image directly from below link if available.
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
69668afe8445d93e30976eb380dd042179fc121b
560
540
2017-03-10T12:46:06Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
== Component datasheet ==
[[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]]
[[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]]
[[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]]
[[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]]
[[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]]
[[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]]
[[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]]
[[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]]
[[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]]
[[Media:FUSB302B.pdf|FUSB302B]]
[[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]]
[[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]]
[[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]]
[[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]]
MIPI-TC358749XBG_V074
[[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor ihlp3232cz01]]
[[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]]
= Image =
You can download image directly from below link if available.
= See also =
- See also, 同芯片其他板子链接
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
a2d3a575e689cdde91baeefe9ddc58e295c06ad5
563
560
2017-03-13T01:24:15Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
== Component datasheet ==
[[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]]
[[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]]
[[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]]
[[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]]
[[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]]
[[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]]
[[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]]
[[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]]
[[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]]
[[Media:FUSB302B.pdf|FUSB302B]]
[[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]]
[[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]]
[[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]]
[[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]]
MIPI-TC358749XBG_V074
[[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor ihlp3232cz01]]
[[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
a5b59611cab581edc951e328c6cc8e44fff7448c
566
563
2017-03-13T08:52:48Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
== RK3399 BOX reference design ==
RK3399_BOX_REF_V10_20170112_0.DBK
RK3399_BOX_REF_V10_20170112
RK3399_BOX_REF_V10_20170112-162_0.DBK
RK3399_BOX_REF_V10_20170112-162_9_0_0.DBK
RK3399_BOX_REF_V10_20170112-162
RK3399_BOX_REF_V10_20170112-162.opj
rk3399_box_ref_v10_20170112.opj
== Component datasheet ==
[[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]]
[[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]]
[[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]]
[[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]]
[[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]]
[[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]]
[[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]]
[[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]]
[[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]]
[[Media:FUSB302B.pdf|FUSB302B]]
[[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]]
[[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]]
[[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]]
[[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]]
MIPI-TC358749XBG_V074
[[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor ihlp3232cz01]]
[[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
9f9c3fb835ee21ed1a59f92dd5fe62b3698ee1f3
568
566
2017-03-13T08:57:04Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
== Component datasheet ==
[[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]]
[[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]]
[[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]]
[[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]]
[[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]]
[[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]]
[[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]]
[[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]]
[[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]]
[[Media:FUSB302B.pdf|FUSB302B]]
[[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]]
[[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]]
[[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]]
[[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]]
MIPI-TC358749XBG_V074
[[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor ihlp3232cz01]]
[[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
531d9f9a04bc5a16e5fac87d524f174c09411486
569
568
2017-03-13T09:00:27Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
Component datasheet
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
e5dfd4a950c8a6563b867ccdb8f256a2dfaec609
571
569
2017-03-13T09:01:26Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
d4089a9c8205e3cd19452d25eb33807083ec1c9b
575
571
2017-03-13T09:05:02Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]]
[[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide ]]
[[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]]
[[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]]
[[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]]
[[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
e2e4d45e515d0c1ede45b6f923e3690479198bc1
576
575
2017-03-13T09:09:26Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
Design documents
RK3399_VR&TABLET_V1.2_20170111
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
5dfd5c548d682a8f08c27536c6272beef3c794da
579
576
2017-03-13T09:13:10Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:Excavator board.png]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
5d944dc5f30abe0ce14554ac3ce1e3f69a6d50d3
597
579
2017-03-14T06:15:45Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:RK3399 Excavator Board.jpg|RTENOTITLE]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
4b6faced6f0306b07954bed5a1ffb2b27b8e4391
598
597
2017-03-14T06:16:55Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 200px;"
|-
| [[File:RK3399 Excavator Board.jpg|RTENOTITLE]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
680fc84345a054848698619dfab1ccf7004fccfe
599
598
2017-03-14T06:17:14Z
Chery
9
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 20px;"
|-
| [[File:RK3399 Excavator Board.jpg|RTENOTITLE]]
|}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
bed89291b38d2e72ff9fdc8df3bf4ce3ecb08f63
600
599
2017-03-14T06:19:23Z
Chery
9
wikitext
text/x-wiki
{{Infobox SoC
| image = [[File:RK3399 Excavator Board.jpg |200px]]
}}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
c54a77023a492275c530d7a5ae046ee7c73dbe2b
601
600
2017-03-14T06:20:00Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |200px]]
}}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
1f9a07c9a5f87b64a9a3c1127f31df452613c2ca
602
601
2017-03-14T06:20:16Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github status =
- Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
820cdfe87b8536c4470b884b15889ae47add3f36
603
602
2017-03-14T06:29:01Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github status =
You can download code from github:
<!--StartFragment -->
repo init -u [[File:]]https://github.com/rockchip-linux/manifests -m rk3399.xml<br/> repo sync
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
bb381be023d063bab1d5a35cbbc8cfa4cbbe45a7
605
603
2017-03-14T06:29:49Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github status =
You can download code from github: <!--StartFragment -->
repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml<br/> repo sync
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
0b03900fc33a4e9274ee08dd48aadca1d19e6dc0
Display Server
0
70
536
534
2017-03-10T09:35:44Z
Karen
3
wikitext
text/x-wiki
= Introduction =
= Download =
= Supported Devices =
= Configuration/Environment =
= Package =
= Install =
= See also =
= References =
5fc5ee3d81f8cb73eea0714fb252de3368f9f896
Camera
0
74
542
2017-03-10T09:52:51Z
Karen
3
Created page with " = Introduction = = Download = = Supported Devices = = Configuration/Environment = = Package = = Install = = See also = = References ="
wikitext
text/x-wiki
= Introduction =
= Download =
= Supported Devices =
= Configuration/Environment =
= Package =
= Install =
= See also =
= References =
5fc5ee3d81f8cb73eea0714fb252de3368f9f896
RK3328
0
24
549
476
2017-03-10T10:06:50Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
063adec884ebb94a335b279667212a3f023a1092
561
549
2017-03-13T01:16:04Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
3db018d1dbd48fc6fcc667de1936e7e36798eaef
U-Boot
0
11
564
440
2017-03-13T01:50:40Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchp U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is suppose to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
fdb4bf78cdf1af2d39a6b39fa60551b67d9924ac
580
564
2017-03-14T00:32:03Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to chose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is suppose to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
74388a00221526d96d5312798fb3da911ae5d8d1
581
580
2017-03-14T00:37:50Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is suppose to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
3f0c0e035750e4e7eae12ad45c5afd894c6790b8
586
581
2017-03-14T01:18:21Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build completed, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
2b2e56eeda8f212deaf371b744a8ec0b6fdebc44
587
586
2017-03-14T01:26:24Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build completed, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
9f1bc366153e0710d21a57605716ccbec7c9c0ca
588
587
2017-03-14T01:28:53Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
3d0c1bb3bc40de90968c0bf26e7f2e483fbc727b
589
588
2017-03-14T01:29:56Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
a1c2fb91c88c376deaa0ec1d08588da11e9c5deb
Fastboot
0
12
565
479
2017-03-13T01:53:00Z
Karen
3
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre><code>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot</code>
</pre>
To flash loader
<pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code>
</pre>
To flash android boot image
<pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot</code>
</pre>
To flash android system image
<pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</code></pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your Device via Fastboot ==
Initially,it is not allow you perform flash or oem command with locked fastboot.
'''To relock''':
1、Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、You device will reboot and recovery
4、Now push your device into fastboot mode again and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
What if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i </var>'''into your command in order to assign device ID.
For example:fastboot -i 0x2207 getvar unlocked
e25e056cfa5bdb54fb8ea3402edd82d04c0ef119
File:Component datasheet.rar
6
92
570
2017-03-13T09:00:59Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:RK Excavator ExtBoard MipiDisplay.rar
6
93
572
2017-03-13T09:03:02Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:RK Excavator MainBoard.rar
6
94
573
2017-03-13T09:03:14Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:RK Sapphire RK3399.rar
6
95
574
2017-03-13T09:03:27Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Design documents.rar
6
96
577
2017-03-13T09:11:21Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3399
0
21
582
495
2017-03-14T01:02:51Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
<br/> {{Infobox SoC<br/> | title = RK3288<br/> | image = [[File:rk3288_soc.png|200px]]<br/> | manufacturer = Rockcihp<br/> | process = 28nm<br/> | cpu = Quad-Core ARM Cortex-A17<br/> | ltwo = <br/> | extensions = <br/> | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) <br/> | gpu = ARM Mali-T764<br/> | vpu = <br/> | apu = <br/> | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD<br/> | audio = I2S, PCM<br/> | network = <br/> | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND<br/> | usb = OTG, 2x Host<br/> | other = <br/> | release_date = June 2014<br/> | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html<br/> }}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
4915330ca0bc805b34f4a77690d3c358d9175c3e
583
582
2017-03-14T01:03:44Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
<br/> {{Infobox SoC<br/> | title = RK3399<br/> | image = [[File:rk3288_soc.png|200px]]<br/> | manufacturer = Rockcihp<br/> | process = 28nm<br/> | cpu = Quad-Core ARM Cortex-A17<br/> | ltwo = <br/> | extensions = <br/> | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) <br/> | gpu = ARM Mali-T764<br/> | vpu = <br/> | apu = <br/> | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD<br/> | audio = I2S, PCM<br/> | network = <br/> | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND<br/> | usb = OTG, 2x Host<br/> | other = <br/> | release_date = June 2014<br/> | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html<br/> }}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
bb2e6ddffd6b9bf45bccb16b5fedb44db025891e
584
583
2017-03-14T01:08:27Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
f468f0b1b00d9171bdeb79da8b24e6a17b5ebf11
585
584
2017-03-14T01:10:34Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:rk3399_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
436452a922a91c7f4a0151662f4e7ad3c701355f
590
585
2017-03-14T01:45:29Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:rk3399_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Big.Little architecture:Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = Dual USB Type-C and USB 2.0
| other =
| release_date = June 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
f50192167d690cd865ce485d37db03130fbb729d
591
590
2017-03-14T01:49:33Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:rk3399_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Big.Little architecture:Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = June 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
bb3fa0688e20054f5f30ee3c58e86b6f7e0e6505
592
591
2017-03-14T02:18:29Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Big.Little architecture:Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = June 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
f9f66d69b21654f7890afae418a4472709cbd0b8
593
592
2017-03-14T03:45:32Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = June 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
43b35bbd5deb30c96ef242f56bb37b81ec17bc6b
594
593
2017-03-14T04:02:27Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
29febd8ecb6d93efa008f3d7c4db4252652b6369
596
594
2017-03-14T06:12:02Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
049ef3a20034b53ff94dee09fbdb50fb4c27e261
604
596
2017-03-14T06:29:14Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
92b6fd4df870f7153e57ba4d24b9bf9f431b990f
File:RK3399 Excavator Board.jpg
6
98
595
2017-03-14T06:10:48Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Excavator sapphire board
0
59
606
605
2017-03-14T06:30:05Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github: <!--StartFragment -->
repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml<br/> repo sync
= Upstream status =
- upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/>
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
a6d0a1a0898de164be6029c12ded571ee7d55661
613
606
2017-03-14T09:46:09Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github: <!--StartFragment -->
repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml<br/> repo sync
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
- References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页.
69323193dee6d5a576b77590ad9071535db397cb
637
613
2017-03-15T09:37:47Z
Chery
9
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github: <!--StartFragment -->
repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml<br/> repo sync
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]]
[[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html
db9aaa3be4909917a89e4e1ba42c225a50f22abd
RK3399
0
21
607
604
2017-03-14T06:36:47Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
https://en.wikipedia.org/wiki/ARM_Cortex-A72
http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
d420a620aaa53ee471e25de4ad737a9ce1af0e62
608
607
2017-03-14T06:38:15Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
bcd0cdd366301bf5a24174b8b123c8d7fa2a216e
609
608
2017-03-14T06:53:02Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php
286ecedd5a781aa7a822857fef7b5ee28b30935d
612
609
2017-03-14T09:38:56Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php
adde52eafe366ebede200bc0cbba5014723ea5fc
614
612
2017-03-14T10:04:45Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72, Quad-core Cortex-A53
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
62fb174ac0e77fb885fade9f33cf20c7927f6dee
615
614
2017-03-14T10:06:01Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| title = RK3399
| image = [[File:RK3399 Soc.png |200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Dual-core Cortex-A72, Quad-core Cortex-A53
| ltwo =
| extensions =
| memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4
| gpu = ARM Mali-T860 Quad-core
| vpu =
| apu =
| video = Dual VOP, Dual channel MIPI-DSI , eDP 1.3 , HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2
| audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF
| network =
| storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51
| usb = Dual USB Type-C, OTG, 2xHost
| other =
| release_date = May 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
89d5b6c33e42e9a4c33776e778218948dfef6548
625
615
2017-03-15T07:06:05Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{{Infobox SoC
| image = [[File:RK3399 Soc.png |200px]]
}}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
496671fd254d6738ae2dc482d0272fb99c9b294a
626
625
2017-03-15T07:06:51Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" style="width: 500px;"
|-
| [[File:RK3399 Soc.png]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
21adc66ece5896f4b3b6eabf059154ee49b45cfd
627
626
2017-03-15T07:07:21Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
0da3cada70b43159c1c1fea2df363b359e6abd19
628
627
2017-03-15T07:07:45Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
fde78f654b485bca5e80bdc8c4c80ff1d7c98e45
630
628
2017-03-15T07:09:29Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
#[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
2f1d4970656ed6a53295046b811ce822499c4477
Main Page
0
16
611
369
2017-03-14T09:35:32Z
Chery
9
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
b3c986a184ce597995d648488f583a784ece0e49
643
611
2017-03-15T14:20:26Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
a4396b6985e86e467ae07934e61aa9913c79764c
644
643
2017-03-15T14:21:30Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
9fa49a4e59ee34f307c38efc6c4a3bf75dcff206
651
644
2017-03-16T08:36:03Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*Chromium OS kernel: https://chromium.googlesource.com/chromiumos/third_party/kernel
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
a2e601e15431e02ea789823335a9e4d30171569d
652
651
2017-03-16T08:39:10Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*Coreboot: https://chromium.googlesource.com/chromiumos/third_party/coreboot
*Chromium OS kernel: [https://chromium.googlesource.com/chromiumos/third_party/kernel https://chromium.googlesource.com/chromiumos/third_party/kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]]
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
f96b98f915d21c220fdd6c9bdce9ecf93505a8d7
659
652
2017-03-16T09:53:55Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux http://github.com/rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*Linux kernel: [http://www.kernel.org/ http://www.kernel.org/]
*U-Boot: [http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome]
*ARM Truseted Firmware: [https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*Coreboot: https://chromium.googlesource.com/chromiumos/third_party/coreboot
*Chromium OS kernel: [https://chromium.googlesource.com/chromiumos/third_party/kernel https://chromium.googlesource.com/chromiumos/third_party/kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
2c78327579cde6a0cad99bd114d0deb5760a5e55
U-Boot
0
11
616
589
2017-03-15T01:47:29Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== Get Tool and Firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Writing to the board with USB ===
For USB to work you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== rk3288(upgrade_tool) ====
To create a suitable image and write it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
<br/> others : firefly(Recommend using sd card)
==== rk3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== Flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> Flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
fac3555e6e59d900bad86c2d8f3070db4efa49c7
617
616
2017-03-15T01:52:16Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== Get Tool and Firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and write it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
<br/> others : firefly(Recommend using sd card)
==== rk3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== Flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> Flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
a3ac3dafe8fe8816578ff8ae1580ba3de8df64ac
618
617
2017-03-15T01:56:54Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== Get Tool and Firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
<br/> others : firefly(Recommend using sd card)
==== rk3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== Flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> Flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
b8fd1641e68d24294cf9a28878ab966424e5b7a6
619
618
2017-03-15T01:57:58Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== Get Tool and Firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== rk3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== Flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> Flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
3c78b8c720c481b0a53b510eb14fe7a6dc82c008
620
619
2017-03-15T01:59:15Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== Get Tool and Firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== rk3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
fe28fd27398216055f416c052f3d9f9439688d5c
621
620
2017-03-15T01:59:49Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== rk3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
1671abf9b52e07a88144ba880b82e0dcefdd6b7f
622
621
2017-03-15T02:06:47Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and write it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
57d39e7c73f39c1da81af6224af428fb15d98e0e
623
622
2017-03-15T02:07:12Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
a799ac5a075f356b9847c1802224a96903de0f49
624
623
2017-03-15T02:19:13Z
Karen
3
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000.
= Boot =
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code></pre>
== Netboot/TFTP ==
== Distro boot ==
= U-Boot download =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[fastboot]]
== ums ==
7689fe8833ac248280ba13fcfce52f442deb7697
File:RK3399 Multimedia Codec Benchmark v1.0.pdf
6
100
629
2017-03-15T07:08:31Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:3328.png
6
101
631
2017-03-15T08:57:24Z
Karen
3
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3328
0
24
632
561
2017-03-15T08:59:03Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
4a203b317d3e1f3d0f3d808c9fbfb17e831b0639
634
632
2017-03-15T09:00:07Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Documentation =
[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
468b49778a2f74425752ffd0777d5f191f7c9bff
636
634
2017-03-15T09:01:18Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM interface, supports 8 channels Mic array
| network =
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
f636e38158de508b3614cea98827b94cfab9559c
Rockchip Kernel
0
104
638
2017-03-15T13:58:24Z
Kever
2
Created page with " = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> =..."
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
== Generate ext2fs boot partition ==
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[parttions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we can generate the boot partition by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
7a8d71bd20e9d00df798f56d26c338b699c92f1b
639
638
2017-03-15T13:59:10Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
== Generate ext2fs boot partition ==
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we can generate the boot partition by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
518a878be40046e74d29e6a7ddbb72a548855d74
640
639
2017-03-15T14:12:38Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[sd_boot]],
or write to emmc with rkdeveloptool, see [[emmc_boot]].
== generate fatfs boot partition ==
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
41b380db7874a1d50a9c139cd76bdd959cc6a7ab
641
640
2017-03-15T14:15:20Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[Sd_boot|sd_boot]],
or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]].
== generate fatfs boot partition ==
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
Boot from U-Boot
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
9764dffb5d97901ad74e238a6a5ba3b20f8862cd
642
641
2017-03-15T14:16:23Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[Sd_boot|sd_boot]],
or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]].
== generate fatfs boot partition ==
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
== Boot from U-Boot ==
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
66a64e39488b34250d06a4ad73f443b0c7c16246
Distribution
0
105
645
2017-03-15T14:23:09Z
Kever
2
Created page with " There are also many other districbutions support by community or developers. ARCH Linux https://archlinuxarm.org/platforms/armv7/rockchip "
wikitext
text/x-wiki
There are also many other districbutions support by community or developers.
ARCH Linux
https://archlinuxarm.org/platforms/armv7/rockchip
e2c5708459efd4efe423c13de0c8de44180c47c5
653
645
2017-03-16T08:47:15Z
Kever
2
wikitext
text/x-wiki
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch LInux
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
https://archlinuxarm.org/platforms/armv8/rockchip/
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
316765166cddd673175e744008a542229b7661be
654
653
2017-03-16T08:47:29Z
Kever
2
wikitext
text/x-wiki
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
ecb6ba5c165483df4c2a554d1b4466efd0a2548a
Display Server
0
70
647
536
2017-03-16T02:11:24Z
Karen
3
wikitext
text/x-wiki
= Introduction =
= Download =
Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver]
= Supported Devices =
= Configuration/Environment =
= Package =
= Install =
= See also =
= References =
9cdcab4fe65728e1f99a2797b07d5a5ff82cb172
648
647
2017-03-16T02:32:28Z
Karen
3
wikitext
text/x-wiki
= Introduction =
= Download =
Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver]
= Supported Devices =
= Configuration/Environment =
= Package =
= Install =
We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
= See also =
= References =
1598187bd74503cf112d4573348fd8ba411ee95d
649
648
2017-03-16T02:54:20Z
Karen
3
wikitext
text/x-wiki
= Introduction =
= Download =
Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver]
= Supported Devices =
= Configuration/Environment =
= Package =
= Install =
== To build xserver ==
We suggest that using the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
= See also =
= References =
769c5fe761a64bf3cce56889654fc395f394044b
Talk:Debian
1
23
650
159
2017-03-16T03:29:01Z
Admin
1
Replaced content with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
Upstream Kernel
0
19
655
143
2017-03-16T09:35:01Z
Kever
2
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=1 edit]] =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=2 edit]] =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=3 edit]] =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=4 edit]] =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
705ded050ef942d0c791bbc41fba5450eaba58ec
ATF
0
54
656
366
2017-03-16T09:45:14Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
303b62c2bea53113280c24cce2714e2d7aa13408
657
656
2017-03-16T09:48:48Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build complete.
= Install ATF =
== Support ATF with SPL FIT image[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=11 edit]] ==
== Using Rockchip miniloader[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=12 edit]] ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, this output should write to offset 0x4000.
f554d6f13fd8bdd5156b6125477bd5531dae0032
658
657
2017-03-16T09:49:30Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build complete.
= Install ATF =
== Using U-Boot SPL FIT image[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=11 edit]] ==
== Using Rockchip miniloader[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=12 edit]] ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, this output should write to offset 0x4000.
d7dbd7402b66ce1ab4053a4f77dfb37f2a3b3e90
Rkdeveloptool
0
106
660
2017-03-16T10:00:43Z
Kever
2
Created page with " = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> = Build rkdeveloptool = F..."
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>sudo make && make install</pre>
= Usage =
---------------------Tool Usage ---------------------<br/> Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------
09b8bf617657e8967c947210c60e77812989e144
661
660
2017-03-16T10:08:01Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>sudo make && make install</pre>
= Usage =
== Support commands ==
--------------------Tool Usage ---------------------<br/> Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into rockusb mode;
#Connect target to Host PC via USB;
72bcca0ce3880f276422b9855a69c0f18d3f5109
Main Page
0
16
662
659
2017-03-16T10:44:05Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[http://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
df3d95e2f2deca5867737e03b847103b97f4f2aa
663
662
2017-03-16T10:44:46Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [http://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
d2919ba49ef95d98d718a629e4af8363e96cb160
664
663
2017-03-16T10:45:36Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphic and Video module user guide'''
[[Display_Server|Display Server]]
[[Gstreamer|Gstreamer]]
[[MPP|MPP]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
77efb0c2ede3363c5d3067739b7e9f8380211da8
675
664
2017-03-16T13:37:33Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphics and Multimedia user guide'''
''' '''[[Graphics|Graphics and display]]
[[Multimedia]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
984acaa9a0c3c6586bd69d72bfb9a743532e38d1
680
675
2017-03-16T13:44:52Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphics and Multimedia user guide'''
''' '''[[Graphics|Graphics and display]]
[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
d7b21f2f2542ba69e0f762f942b7bd2d080bdd8c
683
680
2017-03-16T13:50:54Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
[[Linux_user_guide|Linux_user_guide]]
[[Debian|Debian]]
[[Yocto|Yocto]]
[[Buildroot|Buildroot]]
[[Districbution|Other districbution]]
*''' BSP module user guide'''
[[U-Boot|U-Boot]]
[[Rockchip_Kernel|Rockchip Kernel]]
[[Upstream_Kernel|Upstream Kernel]]
[[Atf|ARM Trusted Firmware]]
*''' Graphics and Multimedia user guide'''
''' '''[[Graphics|Graphics and display]]
[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
[[Rockusb|Rockusb]]
[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
ab1338e9b43dbb896c8eefb1fdd9a058c882b2ae
684
683
2017-03-16T13:52:15Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
** [[Linux_user_guide|Linux_user_guide]]
** [[Debian|Debian]]
** [[Yocto|Yocto]]
** [[Buildroot|Buildroot]]
** [[Districbution|Other districbution]]
*''' BSP module user guide'''
** [[U-Boot|U-Boot]]
** [[Rockchip_Kernel|Rockchip Kernel]]
** [[Upstream_Kernel|Upstream Kernel]]
** [[Atf|ARM Trusted Firmware]]
*''' Graphics and Multimedia user guide'''
**''' '''[[Graphics|Graphics and display]]
** [[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
** [[Rockusb|Rockusb]]
** [[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
48cab6ac5d14c04a7e2beceabbd8ef2fc23c32ed
685
684
2017-03-16T13:54:05Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*''' Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*''' BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*''' Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
9470e2fe32af494356efbf05534ffdf9d3b34d31
686
685
2017-03-16T13:54:37Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
a94c078b74fa472eb6766f96a8af126d48c5891b
687
686
2017-03-16T13:54:54Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
1a1e48e17ab31e4d56637d8fc1eed9961f9fa20e
688
687
2017-03-16T13:55:07Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
79e31de77f0f186d831a9ab23d1fb6fcc5647204
690
688
2017-03-17T02:45:08Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],[[Media:Rk3328_box_ref_v10_20170224.pdf_|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
749ee32c00cae94c847c28130f25e38ff7b3cdfe
691
690
2017-03-17T02:46:12Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]], Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]], [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]], Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
bcd0aaa142d002c5afa93a03381e72c6e7e3abe3
692
691
2017-03-17T02:46:44Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
11a230ba9cb2eff54e9e647273259764b3fb430f
710
692
2017-03-17T06:35:38Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
cf962f0f9c36d5e6c1df207dbb2314d2e0d68963
711
710
2017-03-17T06:36:17Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
13242ed33917532095c406235144e7f9331ed6c7
712
711
2017-03-17T06:36:32Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
f833400dc43a774491938f1721337fc721b8fc12
714
712
2017-03-17T06:39:07Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Districbution|Other districbution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
bde4db5d2982225c307a37156a6e18858c50c217
723
714
2017-03-17T07:37:42Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website.
Rockchip Hotline: 400-7700-590
Abroad, please call: 0086-591-83991906 Ext: 8198
Service mailbox:service@rock-chips.com
febf63f985df9853fdd74bfd14888835f06c5375
Fastboot
0
12
665
565
2017-03-16T11:20:40Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode
= Fastboot command =
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode.
<pre>$ sudo fastboot -i 0x2207 devices
0123456789AB fastboot
</pre>
To flash loader
<pre>$ sudo fastboot -i 0x2207 flash loader "path to your loader"
</pre>
To flash android boot image
<pre>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image"
0123456789AB fastboot
</pre>
To flash android system image
<pre>$ sudo fastboot -i 0x2207 flash system_a "path to your system image"
0123456789AB fastboot</pre>
To get version:
<pre>fastboot getvar version</pre>
To get version:
<pre>fastboot getvar version-bootloader
</pre>
To get unlocked:
<pre>fastboot getvar unlocked
</pre>
To get locked:
<pre>fastboot getvar secure</pre>
To get product information:
<pre>fastboot getvar product</pre>
To get serialno:
<pre>fastboot getvar serialno</pre>
To get partition type:
<pre>fastboot getvar partition-type:<partition_name>
</pre>
To get partition size:
<pre>fastboot getvar partition-size:<partition_name>
</pre>
To get partition offset:
<pre>fastboot getvar partition-offset:<partition_name>
</pre>
== Download the Image ==
To flash image:
<pre>fastboot flash <partition_name> <filename>
</pre>
(For example:fastboot flash system system.img)
When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>"
To update firmware:
<pre>fastboot update <filename>
</pre>
(The firmware package was generated from android source code <var>make updatepackage</var>)
== Reboot ==
To recovery:
<pre>fastboot oem recovery </pre>
To recovery and restore:
<pre>fastboot oem recovery:wipe_data</pre>
To Reboot:
<pre>fastboot reboot</pre>
To reboot and enter into rockusb loader mode
<pre>fastboot reboot-bootloader</pre>
To continue:
<pre>fastboot continue </pre>
=== Lock and Unlock the Device ===
To unlock:
<pre>fastboot oem unlock</pre>
To confirm unlock(input it in 5 minutes after typing <var>fastboot oem unlock command</var>):
<pre>fastboot oem unlock_accep</pre>
To lock the device:
<pre>fastboot oem lock
</pre>
=== Special Command ===
To boot from specifc firmware templately:
<pre>fastboot boot <kernel> [ <ramdisk> ]</pre>
(Kernel supports Image/zImage,and you should keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>)
To generate a log file:
<pre>fastboot oem log </pre>
To execute u-Boot command:
<pre>fastboot oem ucmd <UBOOT cmds></pre>
== Unlock your Device via Fastboot ==
Initially,it is not allow you perform flash or oem command with locked fastboot.
'''To relock''':
1、Executing <var>fastboot oem unlock</var>
2、Then executing <var>fastboot oem unlock_accept in 5 seconds,</var>
3、You device will reboot and recovery
4、Now push your device into fastboot mode again and <var>fastboot getvar unlocked will return to </var>"yes"
(Congraduations you have unlock your device finished!)
What if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i </var>'''into your command in order to assign device ID.
For example:fastboot -i 0x2207 getvar unlocked
e6b7a4aa71cdadcf1536a65dc6f0b425ec877621
Distribution
0
105
667
654
2017-03-16T13:07:42Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre><code>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz]
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz</code>
</pre>
copy qemu
<pre><code>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/</code>
</pre>
copy host's dns to rootfs
<pre><code>sudo cp -b /etc/resolv.conf etc/resolv.conf</code>
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre><code>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe</code>
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre><code>ch-mount.sh -m ubuntu/</code>
</pre>
install desktop
<pre><code>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core</code>
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre><code>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl</code>
</pre>
download xserver
<pre><code>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]</code>
</pre>
delete those in configure.ac
<pre><code>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []</code>
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre><code>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install</code>
</pre>
set password
<pre><code>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root</code>
</pre>
exit chroot
<pre><code>exit
ch-mount.sh -u ubuntu/</code>
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre><code>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img</code>
</pre>
==== update ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
a16373ff0c94768e706156ecadabde8fc701f0f0
668
667
2017-03-16T13:10:45Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz]
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== update ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
3938b8b652618303aca9df09530100c8a7c03590
669
668
2017-03-16T13:24:49Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= Debian =
Here is the guide from Debian to support RK3288 based Chromebook:
<span style="line-height: 1.6;">https://wiki.debian.org/InstallingDebianOn/Asus/C201</span>
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
https://fedoraproject.org/wiki/Architectures/ARM/Chromebook
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz]
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== update ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
5f0aac1d6a5b02015f372a521b630a5d13616a79
670
669
2017-03-16T13:25:53Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz]
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== update ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
c02591e899fa4f25fc3d435803bed67ef6758605
724
670
2017-03-17T07:38:30Z
Kever
2
Kever moved page [[Districbution]] to [[Distribution]]
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz]
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== update ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
c02591e899fa4f25fc3d435803bed67ef6758605
Graphics
0
108
676
2017-03-16T13:38:06Z
Kever
2
Created page with " This article will give a overview of how graphics are generated on a rockchip platform. === Graphics Hardware === ==== [http://rockchip.wikidot.com/vop VOP] ==== ==== [htt..."
wikitext
text/x-wiki
This article will give a overview of how graphics are generated on a rockchip platform.
=== Graphics Hardware ===
==== [http://rockchip.wikidot.com/vop VOP] ====
==== [http://rockchip.wikidot.com/gpu GPU] ====
==== [http://rockchip.wikidot.com/rga RGA] ====
=== Graphics Software ===
If you are using Debian form rockchip, the default display system will be X11. Other display systems are available in [http://rockchip.wikidot.com/yocto-user-guide yocto sdk].
==== Graphics with X11 ====
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [http://rockchip.wikidot.com/xserver Xserver] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
==== Graphics with Wayland ====
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
Rockchip don't do much develop in wayland at current, but wetson are tested that can run in rk3288 and rk3399.
==== Graphics with None ====
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
= GPU Performance =
Test platform: rk3288
{|
|-
! backend
! off-screen
! on-screen
! DMA-Buf
|-
| X11
|
|
| support
|-
| Wayland
|
|
| support
|-
| gbm
|
|
| support
|-
| fbdev
| untested
| untested
| unsupport
|}
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
bf05062307ecdbf0d6d5e1e1b85ad53db956548f
694
676
2017-03-17T03:28:41Z
Kever
2
wikitext
text/x-wiki
= Graphics Overview =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
=== Structure ===
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [http://rockchip.wikidot.com/xserver Xserver] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
==== Graphics with Wayland ====
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
Rockchip don't do much develop in wayland at current, but wetson are tested that can run in rk3288 and rk3399.
==== Graphics with None ====
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
= GPU Performance =
Test platform: rk3288
{|
|-
! backend
! off-screen
! on-screen
! DMA-Buf
|-
| X11
|
|
| support
|-
| Wayland
|
|
| support
|-
| gbm
|
|
| support
|-
| fbdev
| untested
| untested
| unsupport
|}
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
90557b140077c39f61429263efc3c8c2bf8bb90e
699
694
2017-03-17T03:38:14Z
Kever
2
wikitext
text/x-wiki
= Graphics Overview =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [http://rockchip.wikidot.com/xserver Xserver] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:X11 structure.png]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-<br/> 01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance Test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
Rockchip don't do much develop in wayland at current, but wetson are tested that can run in rk3288 and rk3399.
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
= GPU Performance =
Test platform: rk3288
{|
|-
! backend
! off-screen
! on-screen
! DMA-Buf
|-
| X11
|
|
| support
|-
| Wayland
|
|
| support
|-
| gbm
|
|
| support
|-
| fbdev
| untested
| untested
| unsupport
|}
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
c2a0e7a308d90efc78e46fc8470cebec22ccc009
700
699
2017-03-17T03:53:05Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [http://rockchip.wikidot.com/xserver Xserver] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:X11 structure.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1- http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-]<br/> 01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland structure.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali driver structure.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:Drm structure.png]]
=== Source code ===
mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/.
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
d568a302713eb6c354ae3c19b3eb5b2623de7d23
701
700
2017-03-17T03:55:05Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [http://rockchip.wikidot.com/xserver Xserver] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:X11 structure.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1- http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-]01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland structure.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali driver structure.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:Drm structure.png]]
=== Source code ===
mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/.
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
c0efbe02abb6c0ae781d9ab7413ae3ac29ad7b10
702
701
2017-03-17T03:55:22Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [http://rockchip.wikidot.com/xserver Xserver] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:X11 structure.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland structure.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali driver structure.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:Drm structure.png]]
=== Source code ===
mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/.
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
a9d030b2486d863ac33f1403c46a73b46589dc53
703
702
2017-03-17T03:56:47Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [[Xserver]] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:X11 structure.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland structure.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali driver structure.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:Drm structure.png]]
=== Source code ===
mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/.
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
fc7b954579e2dd727a2b7c8644834b0525588f03
709
703
2017-03-17T05:05:38Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [[Xserver]] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:X11 structure.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland structure.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [[Qt|QT]] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali driver structure.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:Drm structure.png]]
=== Source code ===
mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/.
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
6718a457304b17aafea6d563b385ae9371f7352a
Display Server
0
70
689
649
2017-03-17T00:57:18Z
Karen
3
wikitext
text/x-wiki
= Introduction =
= Download =
Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver]
= Supported Devices =
= Configuration/Environment =
== How to debug xserver ==
You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb.
Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too.
<pre><code>apt-get install gdb libc6-dbg
gdb -p $(pidof X)
(inside gdb)
set logging overwrite on
set logging on
break xorg_backtrace
continue
(X server is stopped from when gdb is attached until "continue" is typed)
(do whatever caused the problem)
bt full
set logging off
quit</code>
</pre>
After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above.
More info please see [https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here].
==== Untrap signals ====
The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf:
<pre><code>Section "ServerFlags"
Option "NoTrapSignals" "true"
EndSection</code>
</pre>
and restart your X server.
= Package =
= Install =
== To build xserver ==
We suggest that using the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
= See also =
= References =
e49bb8527b8999f99d585f8d7d7c159c619f2fac
Rockchip Kernel
0
104
693
642
2017-03-17T03:22:36Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[Sd_boot|sd_boot]],
or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]].
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
1830e242ee6dce660c3e3e55c8b92de50317b9ea
Xserver
0
114
704
2017-03-17T03:58:57Z
Kever
2
Created page with " = Download xserver = Download source code from Rockchip github git repository <pre>git clone https://github.com/rockchip-linux/xserver.git</pre> === Branch rockchip-1...."
wikitext
text/x-wiki
= Download xserver =
Download source code from Rockchip github git repository
<pre>git clone https://github.com/rockchip-linux/xserver.git</pre>
=== Branch rockchip-1.8 ===
This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it.
= Performance =
=== Without glamor ===
<pre><code>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple)
40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple)
720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple)
30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple)</code>
</pre>
=== With glamor ===
<pre><code>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile)
20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile)
10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile)
600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile)</code>
</pre>
<br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor.
=== Check whether enable GLAMOR ===
<pre><code>cat /var/log/Xorg.0.log | grep glamor</code>
</pre>
If it shows "glamor initialized", it means the acceleration was enabled.
=== Why failed to enable ===
*Kernel space gpu driver is not compatible with userspace(libmali)
*Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority.
*Improper depends. Try update libepoxy to 1.31.
= How to build xserver =
We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
= How to debug xserver =
You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb.
Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too.
<pre><code>apt-get install gdb libc6-dbg
gdb -p $(pidof X)
(inside gdb)
set logging overwrite on
set logging on
break xorg_backtrace
continue
(X server is stopped from when gdb is attached until "continue" is typed)
(do whatever caused the problem)
bt full
set logging off
quit</code>
</pre>
After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above.
More info please see [https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here].
==== Untrap signals ====
The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf:
<pre><code>Section "ServerFlags"
Option "NoTrapSignals" "true"
EndSection</code>
</pre>
and restart your X server.
065655d699971f7af3fcd38565d17c5637c45133
705
704
2017-03-17T03:59:31Z
Kever
2
wikitext
text/x-wiki
= Download xserver =
Download source code from Rockchip github git repository
<pre>git clone https://github.com/rockchip-linux/xserver.git</pre>
=== Branch rockchip-1.8 ===
This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it.
= Performance =
=== Without glamor ===
<pre>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple)
40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple)
720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple)
30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple)
</pre>
=== With glamor ===
<pre>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile)
20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile)
10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile)
600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile)
</pre>
<br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor.
=== Check whether enable GLAMOR ===
<pre>cat /var/log/Xorg.0.log | grep glamor
</pre>
If it shows "glamor initialized", it means the acceleration was enabled.
=== Why failed to enable ===
*Kernel space gpu driver is not compatible with userspace(libmali)
*Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority.
*Improper depends. Try update libepoxy to 1.31.
= How to build xserver =
We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
= How to debug xserver =
You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb.
Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too.
<pre>apt-get install gdb libc6-dbg
gdb -p $(pidof X)
(inside gdb)
set logging overwrite on
set logging on
break xorg_backtrace
continue
(X server is stopped from when gdb is attached until "continue" is typed)
(do whatever caused the problem)
bt full
set logging off
quit
</pre>
After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above.
More info please see [https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here].
==== Untrap signals ====
The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf:
<pre><code>Section "ServerFlags"
Option "NoTrapSignals" "true"
EndSection</code>
</pre>
and restart your X server.
72f05177286bce96623af5c79b2629f828acdbba
ATF
0
54
706
658
2017-03-17T05:02:40Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build complete.
= Install ATF =
== Using U-Boot SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is load by miniloader, so it should be package to know format for minloader
<pre><span style="background-color: rgb(245, 245, 245); white-space: pre-wrap;">trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</span></pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
f4b84701a5f519f2bfb4b95ccb7c348ef900f7ae
707
706
2017-03-17T05:03:16Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build complete.
= Install ATF =
== Using U-Boot SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is load by miniloader, so it should be package to know format for minloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
5f8a6a8116c21ceacdc39b3b17c488e0cf216cf6
708
707
2017-03-17T05:04:01Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build complete.
= Install ATF =
== Using U-Boot SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is load by miniloader, so it should be package to know format for minloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
e2890011e6563b6498d35630ff3beaa77ebc4d8c
Boot option
0
116
715
2017-03-17T06:45:56Z
Kever
2
Created page with " = overview = <pre><code>+--------+----------------+----------------+----------+-----------+ | Boot | Terminology #1 | Terminology #2 | Actual | Rockchip | | stage |..."
wikitext
text/x-wiki
= overview =
<pre><code>+--------+----------------+----------------+----------+-----------+
| Boot | Terminology #1 | Terminology #2 | Actual | Rockchip |
| stage | | | program | Loader |
| number | | | name | Name |
+--------+----------------+----------------+----------+-----------+
| 1 | Primary | - | ROM code | MaskRom |
| | Program | | | |
| | Loader | | |</code><code><code> |</code>
| | | | |</code><code><code><code> |</code></code>
| 2 | Secondary | 1st stage | u-boot | MiniLoader|
| | Program | bootloader | SPL |</code><code><code><code> <option> |</code></code>
| | Loader (SPL) | | |</code><code><code><code> |</code></code>
| | | | |</code><code><code><code> |</code></code>
| 3 | - | 2nd stage | U-Boot |</code><code><code><code> U-Boot |</code></code>
| | | bootloader | |</code><code><code><code> |</code></code>
| | | | |</code><code><code><code> |</code></code>
| 4 | - | - | kernel |</code><code><code><code> kernel |</code></code>
| | | | |</code><code><code><code> |
| 5 | - | - | rootfs | rootfs |</code></code>
+--------+----------------+----------------+----------+-----------+</code></pre>
= Boot from eMMC =
= Boot from SD Card =
= Boot from U-disk =
= Boot from Network =
7c2bdadc7a79cef2a55771a4af60d73ca91f68b2
716
715
2017-03-17T06:48:00Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre><code>+--------+----------------+----------------+----------+-----------+
| Boot | Terminology #1 | Terminology #2 | Actual | Rockchip |
| stage | | | program | Loader |
| number | | | name | Name |
+--------+----------------+----------------+----------+-----------+
| 1 | Primary | - | ROM code | BootRom |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | 1st stage | u-boot | MiniLoader|
| | Program | bootloader | SPL | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | 2nd stage | U-Boot | U-Boot |
| | | bootloader | | |
| | | | | |
| 4 | - | - | kernel | kernel |
| | | | | |
| 5 | - | - | rootfs | rootfs |
+--------+----------------+----------------+----------+-----------+</pre>
= Boot from eMMC =
= Boot from SD Card =
= Boot from U-disk =
= Boot from Network =
586b0f10eab3392bc48f37b9a8345bcfcd96794f
717
716
2017-03-17T06:48:11Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------------+----------+-----------+
| Boot | Terminology #1 | Terminology #2 | Actual | Rockchip |
| stage | | | program | Loader |
| number | | | name | Name |
+--------+----------------+----------------+----------+-----------+
| 1 | Primary | - | ROM code | BootRom |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | 1st stage | u-boot | MiniLoader|
| | Program | bootloader | SPL | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | 2nd stage | U-Boot | U-Boot |
| | | bootloader | | |
| | | | | |
| 4 | - | - | kernel | kernel |
| | | | | |
| 5 | - | - | rootfs | rootfs |
+--------+----------------+----------------+----------+-----------+</pre>
= Boot from eMMC =
= Boot from SD Card =
= Boot from U-disk =
= Boot from Network =
2240c5ca79b7dbd564294024f57a93397e822e96
718
717
2017-03-17T06:52:25Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+</pre>
= Boot from eMMC =
= Boot from SD Card =
= Boot from U-disk =
= Boot from Network =
cfb94e720efa5c6fc46f90d253aeb432ce30ec01
RK3288
0
20
719
529
2017-03-17T07:13:26Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers <cite>an extensible</cite>, <var>leading performance</var>,long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
2a05aa8578d30f8b37e58205b46b132a3533e7d0
720
719
2017-03-17T07:16:40Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
b7dac07557a1c82089d18bce61e1bf87345f9800
721
720
2017-03-17T07:19:25Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
8dde9280a58fbcd342b7c33dff10d9a05f251558
RK3328
0
24
722
636
2017-03-17T07:21:48Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so
Install ARM cross-compile tool chain and compile kernel relative software package:
$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
=== Installing the build tools and download source ===
Please follow [http://rockchip.wikidot.com/linux-user-guide linux user guide] to install the build tools and download source.
=== Building kernel ===
empty
=== Building uboot ===
empty
=== Building rootfs ===
==== Debian ====
You can download the prebuilt image directly.
[http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive]
or you could use the [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script] from Rockchip to build rootfs yourselves.
==== Yocto ====
If you want to use Yocto to build your rootfs see [http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide] for detail.
==== Buildroot ====
If you want to use Buildroot to build your rootfs see [http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide] for detail.
= Devices =
If you need the rk3399-excavator board, please communicate through the following contact information.
<pre>Telephone: 4007700590 Email: service@rock-chips.com</pre>
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
d4e1ff169a275c09f5300612f8ef251f76077e31
RK3328
0
24
726
722
2017-03-17T07:39:40Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**36KB
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
See [[Linux_user_guide]] setup LInux OS generally;
See [[U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution]] to develop and custimize OS.
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
124027135906d2dd242b620331476f5e590447c5
727
726
2017-03-17T07:40:29Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**36KB
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
c743837dca8b3281d52eb9afaacee60bf3ce99da
728
727
2017-03-17T07:42:57Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**36KB
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3399
| 1
| 0
| 0
| 1
| 1500000
|}
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
680c20a8d3e56c2307f9765b5109eb3ed677f725
729
728
2017-03-17T07:43:27Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**36KB
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
a8a6fd433464679d97da054089eb6ef6561328d4
730
729
2017-03-17T07:44:38Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**36KB
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
be1903f3766b3f189eacede6576587c14000a7e9
738
730
2017-03-17T08:11:52Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
f50bf9c4c3c5ac70897e13f56967b649220c9592
740
738
2017-03-17T08:27:59Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
b9570213e2485b0a3b42736f7c75cc1228d9e396
RK3288
0
20
731
721
2017-03-17T07:45:37Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
7aaf87591bef5d732e0e8d98c57a63a9c4a87357
732
731
2017-03-17T07:46:09Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
55d625875d4ce2d1321d22625c0e4d1a540d7382
733
732
2017-03-17T07:50:44Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**100KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
db4f950252b4e201e59f0226517a06e0c824596f
736
733
2017-03-17T08:11:26Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
78e60d5af532a92bd98cd40e756aac4d92ee1cea
771
736
2017-03-20T01:31:38Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''board'''
| '''kernel'''
| '''uboot'''
| '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
| '''chip'''
| '''Kernel eMMC index'''
| '''Kernel SD index'''
| '''Uboot eMMC index'''
| '''Uboot SD index'''
| '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
8e11e1a0e9a4da735d78e9e426229f39b45a8717
RK3399
0
21
734
630
2017-03-17T07:57:25Z
Kever
2
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
#[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
|-
| style="width: 119px; text-align: center;" | '''board'''
| style="width: 172px; text-align: center;" | '''kernel'''
| style="width: 124px; text-align: center;" | '''uboot'''
| style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
|-
| style="width: 68px; text-align: center;" | '''chip'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
31381fa5a6d687d3c4bf3d1706d8da19ec6730eb
Boot option
0
116
735
718
2017-03-17T08:06:49Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd</code>
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
fc52f2b6b81dad1dded39b4ce7ae99f89bb06ec6
748
735
2017-03-17T09:25:52Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre><code>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd</code>
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
57f384bb9d4aa75899e76d3ea90ca66e0b6d0ffd
749
748
2017-03-17T09:26:13Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre><code>gpt write mmc 0 $partitions
ums 0 mmc 0</code>
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre><code>sudo mkfs.fat /dev/sdb6</code>
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code>
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code>
</pre>
<br/> To flash rootfs
<pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
2231ea3dee9a9fbfd2c4e1b2366a8d56218c908f
750
749
2017-03-17T09:28:56Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code>
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
7d50cea7a386519a3118640f0d54fa399c366748
751
750
2017-03-17T09:29:21Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot</code>
</pre>
Download rootfs image and rename it
<pre><code>mv linaro-rootfs.img rootfs.img</code>
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
5b1d2d6501aa0deb2740b84cc3e6b30358c661a5
752
751
2017-03-17T09:30:37Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre><code>sh ./mk-initrd.sh</code>
</pre>
Format SD card
<pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.</code>
</pre>
<pre><code>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1</code>
</pre>
<pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code>
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code>
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code>
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre><code>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update</code>
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
f518e07b2f5c9f2144516f70286ad8f72c02eacc
754
752
2017-03-17T09:46:31Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[http://rockchip.wikidot.com/tools tools]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
0f8e5e3d160d0c79abfc3e9bcd095d86e5e199a5
756
754
2017-03-17T09:49:21Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
3b4ea4c61bf5738b192f24442f7591e3d70bac07
757
756
2017-03-17T09:49:47Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
7b212cbb6c480dcfbc3484388bbdaf71a11fba1a
758
757
2017-03-17T09:50:25Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
5a6bf0f687188752d49a6e03e6091cd5944accbc
759
758
2017-03-17T09:56:20Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_eMMC|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
2eecb9de231bc2231ab28b17ca0b181dfc947ff3
760
759
2017-03-17T09:58:07Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_eMMC|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
2d1165e7e2e37ff8ed1e038653df39f1db6df8f0
761
760
2017-03-17T10:00:26Z
Kever
2
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre><code>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code>
</pre>
<pre><code>gpt write usb 0 $partitions
ums 0 usb 0</code>
</pre>
= Boot from Network =
f64a2028e0ea841c4f9de9504841ff909c934cdb
763
761
2017-03-17T10:03:57Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://rockchip.wikidot.com/linux-user-guide#toc1 config table])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
2d8a464240c40659d9e46fe0bba2de40f8278f02
768
763
2017-03-20T01:22:29Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[config_table|config table]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
a796b145a1542319df262b1817fc9dd10d3a1d1d
772
768
2017-03-20T01:33:35Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to SOC introduction)
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
f5762df65c5c4d526f5196990a86db18dce0d6dc
773
772
2017-03-20T01:36:24Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://10.10.10.12:8444/index.php?title=Devices DEVICE PAGE])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
fb8fbf2784bd80f35fa86058c2f5b6c19a727277
774
773
2017-03-20T01:53:21Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [http://10.10.10.12:8444/index.php?title=Devices DEVICE PAGE])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[U-Boot]] and [[Rockchip_Kernel|Rockchip Kernel]] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
f9553830c9daf9803bfe892e4c93cbf9879aa54d
775
774
2017-03-20T02:38:38Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[U-Boot]] and [[Rockchip_Kernel|Rockchip Kernel]] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
a54da14a2a5956d8661d55785cdbcde98eb265a3
776
775
2017-03-20T02:42:27Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide ]]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
895c4c80ce12be4f2dd616c868c46a994b127816
777
776
2017-03-20T02:43:17Z
Karen
3
wikitext
text/x-wiki
= overview =
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | u-boot | MiniLoader|
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide ]]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
6df11bc527a174cfc1eccf3998cb3add7afe85c7
Rockchip Kernel
0
104
737
693
2017-03-17T08:11:43Z
Karen
3
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
configure for armv7:
<pre>make rockchip_linux_defcofig</pre>
configure for aarch64:
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command,
For armv7:
<pre>make rk3288-firefly.img -j8</pre>
For aarch64:
<pre>make ARCH=arm64 rk3399-evb.img -j8</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[Sd_boot|sd_boot]],
or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]].
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
c75530ada221ddd70479811f8de1d52084f960ee
Template:Infobox SoC
10
43
739
524
2017-03-17T08:27:50Z
Admin
1
wikitext
text/x-wiki
<includeonly><table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
{{#if:{{{vpu|}}}|<tr class=""><th scope="row" style="text-align:left;">VPU</th><td class="" style="">
{{{vpu}}}</td></tr>}}
<tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
{{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style="">
{{{Connectivity}}}</td></tr>}}
{{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style="">
{{{Interface}}}</td></tr>}}
{{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>}}
{{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>}}
{{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]}}
</td></tr>
</table></includeonly>
f635e22590e9a20d43cc06f5450735dda53b7b48
Distribution
0
105
741
724
2017-03-17T09:01:28Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz]
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== Build from packages ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
= See also =
[[Yocto|yocto]]
[[Buildroot|buildroot]]
bbe66b09f78af71c29d5cb2d43eabb7607ee1629
File:DRM.png
6
118
742
2017-03-17T09:02:50Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mali gpu.png
6
119
743
2017-03-17T09:03:00Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Wayland.png
6
120
744
2017-03-17T09:03:13Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Xserver gpu.png
6
121
745
2017-03-17T09:03:33Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Graphics
0
108
746
709
2017-03-17T09:04:59Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [[Xserver|Xserver]] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:Xserver gpu.png]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [[Qt|QT]] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali gpu.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:DRM.png]]
=== Source code ===
mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/].
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
8673c49d954c31ee1e774f2f3e2f81524fbf8874
U-Boot
0
11
747
624
2017-03-17T09:17:39Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
6938895d8252db4938291139ec6cb54f1c9567ec
762
747
2017-03-17T10:03:29Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]]about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
7c9f86d12273e53401f3cc6063b757bbb21db19d
764
762
2017-03-17T10:04:45Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
082d76b760a6e7ac71e9f7bd72b72da7b4bd5b42
765
764
2017-03-17T10:07:27Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]]about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
008fe6b5dada5a7457f70cb54c0392ae1b717d40
766
765
2017-03-17T10:08:02Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Istall U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
f65be030de4281ccceb3114c6f76c70984aa02ea
Main Page
0
16
767
723
2017-03-17T10:21:40Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, pls ask your question at github project issue page.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
ba4f8fc4035bbbf50cfd22f27234e20c771fc7f0
769
767
2017-03-20T01:24:08Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, pls ask your question at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
0bd46bdd7bee323dd871fa2845bbd9c3973e7c46
770
769
2017-03-20T01:25:02Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0"
|-
| style="width:92px;" | <p style="text-align: center;">SoC</p>
| style="width:286px;" | <p style="text-align: center;">Description</p>
| style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
f3b59a5b7c37b2eeef12523d2491811eadbf6520
Upstream Kernel
0
19
778
655
2017-03-20T03:06:47Z
Karen
3
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=2 edit]] =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=3 edit]] =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=4 edit]] =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
742641a3df30959fc465fc80f8ecb5b2cbe54d77
779
778
2017-03-20T03:07:06Z
Karen
3
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=3 edit]] =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=4 edit]] =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
ec391a46db1d3b786c91e6f26187537dc40be1c6
780
779
2017-03-20T03:07:16Z
Karen
3
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit§ion=4 edit]] =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
58d7a863fe7393a3305d444c2e6cfd5beb76b18c
781
780
2017-03-20T03:07:25Z
Karen
3
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
bd8a7cad6d3cb4c7019b324bd2185c7b1943d47f
782
781
2017-03-20T03:10:59Z
Karen
3
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399]]
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
109362cd939c87bb479733594a2343fab2e94ae1
Graphics
0
108
788
746
2017-03-20T07:35:48Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [[Xserver|Xserver]] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:Xserver gpu.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== DDX(modesetting) ===
=== ===
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland.png]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [[Qt|QT]] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali gpu.png]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:DRM.png]]
=== Source code ===
mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/].
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
3a554ea129e039e41420312f9ee34b5da7093451
Xserver
0
114
790
705
2017-03-20T07:39:44Z
Kever
2
wikitext
text/x-wiki
= Download xserver =
Download source code from Rockchip github git repository
<pre>git clone https://github.com/rockchip-linux/xserver.git</pre>
=== Branch rockchip-1.8 ===
This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it.
= Performance =
=== Without glamor ===
<pre>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple)
40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple)
720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple)
30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple)
</pre>
=== With glamor ===
<pre>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile)
20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile)
10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile)
600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile)
</pre>
<br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor.
=== Check whether enable GLAMOR ===
<pre>cat /var/log/Xorg.0.log | grep glamor
</pre>
If it shows "glamor initialized", it means the acceleration was enabled.
=== Why failed to enable ===
*Kernel space gpu driver is not compatible with userspace(libmali)
*Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority.
*Improper depends. Try update libepoxy to 1.31.
= How to build xserver =
== Cross compile in PC host ==
We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
== Local build ==
apt-get build-dep xserver-xorg
= How to debug xserver =
You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb.
Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too.
<pre>apt-get install gdb libc6-dbg
gdb -p $(pidof X)
(inside gdb)
set logging overwrite on
set logging on
break xorg_backtrace
continue
(X server is stopped from when gdb is attached until "continue" is typed)
(do whatever caused the problem)
bt full
set logging off
quit
</pre>
After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above.
More info please see [https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here].
==== Untrap signals ====
The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf:
<pre><code>Section "ServerFlags"
Option "NoTrapSignals" "true"
EndSection</code>
</pre>
and restart your X server.
8abf1269568776fddf80f3e815acb9804000bb6a
Popmetal
0
29
800
526
2017-03-20T09:28:49Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2GB DDR3
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0
| usb = OTG, 2x Host
| other =
| Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
| Connectivity
| 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
|-
| Interface
| 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port
|}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
645d4f5255431cff411250af0cd6d1270b22161c
801
800
2017-03-20T09:30:54Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2GB DDR3
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0
| usb = OTG, 2x Host
| other =
| Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
| Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
27ea2f5109be06059388a83206de5c94975bdc75
802
801
2017-03-20T09:32:44Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2GB DDR3
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, HDMI 2.0,MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0
| usb = OTG, 2x Host
| other =
| Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
415c1e16852b7e91b3674f2c99e7b86961a90b88
875
802
2017-03-22T01:52:54Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2GB DDR3
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, HDMI 2.0,MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0
| usb = OTG, 2x Host
| other =
| Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload]
#[http://opensource.rock-chips.com/wiki_Rock2_Square Rock2_Square]
#[http://10.10.10.12:8444/index.php?title=MiQi MiQi]
#[http://10.10.10.12:8444/index.php?title=Fennec Fennec]
#[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
ff4cf0377a9d2658603313b2336ee2dccf1ed9f1
877
875
2017-03-22T01:55:06Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = Popmetal
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2GB DDR3
| gpu = SGX544
| vpu =
| apu =
| video = HDMI 1.4, HDMI 2.0,MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
| audio = I2S, PCM
| network =
| storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0
| usb = OTG, 2x Host
| other =
| Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE)
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[[Firefly-RK3288_reload|Firefly-RK3288_reload]]
#[[Rock2_Square|Rock2_Square]]
#[[Rock2_Full|Rock2_Full]]
#[[MiQi|MiQi]]
#[[Fennec|Fennec]]
#[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
aed0875cd3b6061395b132461a15fba6949d337c
ATF
0
54
803
708
2017-03-20T12:46:24Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build complete.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is load by miniloader, so it should be package to know format for minloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
a5269add04f912f11cc9f63a916c54ba42d6b0bb
Rockusb
0
122
804
2017-03-20T13:03:30Z
Kever
2
Created page with " = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for Roc..."
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Bootrom/Maskrom device mode ==
When there is no any firmware on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom device mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
2f626c2f3ec3af4e012c6fe7416e8763825dff32
Main Page
0
16
818
770
2017-03-21T03:31:12Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
Schematic&Layout Guide
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
3f84ef99c7b3345af23f5f3414297478be17f18d
842
818
2017-03-21T06:14:28Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
7341a14a5f555d9e6de5bda0b1375a6fc4a991dc
843
842
2017-03-21T06:14:41Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
42d026f072491e09c703e24127e99bba40ee3cc0
850
843
2017-03-21T07:09:38Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
d99afcd4daab7ded8cd3eaad7f2ef5c919647de7
Partitions
0
50
820
357
2017-03-21T03:32:09Z
Admin
1
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| class="table_style" border="1"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or uboot
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| uboot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| arm trusted firmware, trusted-os
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s</code>
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
10f082346f8b3c73d7e2ef35d5e3995be7388636
846
820
2017-03-21T06:21:59Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| class="table_style" border="1"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or uboot
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| uboot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| arm trusted firmware, trusted-os
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
e6fb40b4aa0db42173dea9f3cfd7dc81c5d9ad91
847
846
2017-03-21T06:23:32Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or U-Boot SPL
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| U-Boot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| ATF, trusted-os when using miniloader
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre><code>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
87a5613599522c1d54761e1593f70c14eb20f100
848
847
2017-03-21T06:24:47Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or U-Boot SPL
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| U-Boot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| ATF, trusted-os when using miniloader
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= How to modify GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= How to modify GPT partition table through U-boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
6121a39387bb82ee33109cc2a62e3bb2d4cb9115
RK3288
0
20
822
771
2017-03-21T03:33:31Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
3d2c6e47cb2709fc00fedda2baa2f99b620d20b4
825
822
2017-03-21T03:35:19Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
697aa094498134f6adbfba2163d5ed936d1d0c05
832
825
2017-03-21T03:52:13Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
b8f5fb682b8d76a7233d262919161269a5c9d779
863
832
2017-03-22T01:35:10Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://opensource.rock-chips.com/images/f/f4/Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf]
#[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
a34d5e376a254ed402e41d53c5fd678b82960e50
864
863
2017-03-22T01:36:53Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[http://opensource.rock-chips.com/images/f/f4/Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
f6ca53b6d40f6cab6a2cdb5963d9ea1f92699bec
RK3328
0
24
823
740
2017-03-21T03:34:10Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
00a638a619215cf48c853a3948b3da80492efdd1
826
823
2017-03-21T03:35:40Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
915f6b88472e3860272a097aca5d720c1fc9cb47
833
826
2017-03-21T03:53:05Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
afb6bf6a9637d0452eb9971f7f50eacd7b0157b4
859
833
2017-03-22T01:27:33Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[[Media:Rk3328_box_ref_v10_20170224.pdf|Rk3328_box_ref_v10_20170224.pdf]]
#[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
526109950db7c1abcc64e8a026a6e4eb2a7223dd
860
859
2017-03-22T01:30:34Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[[Media:Rk3328_box_ref_v10_20170224.pdf|Rk3328_box_ref_v10_20170224.pdf]]
#[http://opensource.rock-chips.com/wiki_File:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip RK3328 Datasheet V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
c3e3d1ef8c291909c0e49a42f86a0ba6dc8b7617
861
860
2017-03-22T01:31:02Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[[Media:Rk3328_box_ref_v10_20170224.pdf|Rk3328_box_ref_v10_20170224.pdf]]
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
71c98befb6ab61e94413d387a74f55c725b040b3
862
861
2017-03-22T01:32:13Z
Karen
3
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
559d4753874ecbe6a5764f6bf84fd9b83bf70357
RK3399
0
21
824
734
2017-03-21T03:34:59Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301]
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
#[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
538a1f3a9fdc72c02aa9355befb95dc4a0f7aaf0
865
824
2017-03-22T01:40:48Z
Karen
3
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide]
#[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
c2a5c2c0adef8f698a84669b99d342b6aba1b576
866
865
2017-03-22T01:41:27Z
Karen
3
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399 Linux Buildroot System Development Guide.pdf]
#[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
1aaa601899e4c4ae27002d13122419142661400e
867
866
2017-03-22T01:42:16Z
Karen
3
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
0e77c71560dfeb94c9178d563b3cfbdca1dc8590
Template:Infobox SoC
10
43
831
739
2017-03-21T03:52:00Z
Admin
1
wikitext
text/x-wiki
<includeonly><table class="infobox" cellspacing="5" style="width:300px;">
<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #c1d7ea;">{{{title}}}</th></tr>
<tr class=""><td colspan="2" class="" style="text-align:center;">
{{{image}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style="">
{{{manufacturer}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style="">
{{{process}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style="">
{{{cpu}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style="">
{{{memory}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style="">
{{{gpu}}}</td></tr>
{{#if:{{{vpu|}}}|<tr class=""><th scope="row" style="text-align:left;">VPU</th><td class="" style="">
{{{vpu}}}</td></tr>}}
<tr><th colspan="2" class="" style="text-align:center; background: #c1d7ea;">Connectivity</th></tr>
<tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style="">
{{{video}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style="">
{{{audio}}}</td></tr>
<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style="">
{{{storage}}}</td></tr>
{{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style="">
{{{Connectivity}}}</td></tr>}}
{{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style="">
{{{Interface}}}</td></tr>}}
{{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style="">
{{{usb}}}</td></tr>}}
{{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style="">
{{{release_date}}}</td></tr>}}
{{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style="">
[{{{website}}} Product Page]}}
</td></tr>
</table></includeonly>
abde088a3f3d2bc64fd64a62d17493a107bfdb1f
Rockchip Kernel
0
104
836
737
2017-03-21T03:57:57Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[Sd_boot|sd_boot]],
or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]].
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
87310eac6b31a3d5edbb172fcdf7900c8678e446
837
836
2017-03-21T04:00:11Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
dd this image to sd card, see [[Sd_boot|sd_boot]],
or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]].
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
4238d59ff9887972234a5ed1537b467d60392c1e
857
837
2017-03-21T14:15:35Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
9d7b06b12d5c3d02394170c76d5a8a339fe86f6c
File:Rk3288 hardware reference.zip
6
123
839
2017-03-21T06:12:40Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rk3328 hardware reference.zip
6
124
840
2017-03-21T06:12:54Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Excavator sapphire board
0
59
844
637
2017-03-21T06:16:18Z
Kever
2
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github: <!--StartFragment -->
repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml<br/> repo sync
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html
e252f4a78c6a00b32b7a39669a4db765139f3a5e
Boot option
0
116
852
777
2017-03-21T12:43:59Z
Kever
2
wikitext
text/x-wiki
= overview =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS.
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader |
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot |
| | | | |
| | | | |
| 4 | - | kernel | kernel |
| | | | |
| 5 | - | rootfs | rootfs |
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide|Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
3be3497fd0ad3b2f703174eef85280bf70e0b4be
853
852
2017-03-21T13:41:29Z
Kever
2
wikitext
text/x-wiki
= overview =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS.
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages, then we need to know about how the image should packaged, where and how the image write to media.
Here are the file list before package for stage 2~4:
From source code: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), kernel Image/zImage file, kernel dtb, bl31.bin;
From Rockchip binary: prefix wich chip rkxx_ and postfix with version _x.xx.bin, ddr, usbplug, miniloader, bl31;
After package:
=== idbspl.img ===
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
Package the image from U-Boot source:
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200 when using SPL to load the ATF.
=== uboot.img ===
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3 for using Rockchip miniloader;
=== trust.img ===
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade and also including idbloader inside.
== Boot from eMMC ==
=== To get tool and firmware ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide|Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
348832da5b48f06391f79bd3d2aa607db5951e6a
854
853
2017-03-21T14:02:40Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]].
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
== Boot from eMMC ==
=== To get tool ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide|Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
968b529a8584d993882b4b25d3f3b76341b0379c
856
854
2017-03-21T14:13:27Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]].
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
== Boot from eMMC ==
=== To get tool ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide|Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
436a3b194290b533070111a1d4a3666c0ea46993
858
856
2017-03-21T14:27:42Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]].
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**uboot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
=== To get tool ===
[[Rkdevelptool|tools]]
=== Flash to the board by USB ===
In order to flash by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board.
==== RK3288(upgrade_tool) ====
To create a suitable image and flash it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre>
<br/> others : firefly(Recommend using sd card)
==== RK3036 ====
To create a suitable image and flash it to the board:
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out
cat u-boot-dtb.bin >> out
sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin
sudo upgrade_tool wl 64 out
sudo upgrade_tool rd
</pre>
==== RK3399 ====
<pre>cd ..
./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini
cd uboot
../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img
sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin
sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt
sudo upgrade_tool rd
</pre>
=== To flash kernel and rootfs ===
Enter into the uboot and issue the following command on uboot: (otg should be connected)
<pre>gpt write mmc 0 $partitions
ums 0 mmc 0
</pre>
<br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device)
<pre>sudo mkfs.fat /dev/sdb6
</pre>
<br/> Copy zimage and dts file to dev/sdb6
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
</pre>
Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to [[Linux_user_guide|Linux_user_guide]])
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init
</pre>
<br/> To flash rootfs
<pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
09f6c738520302084ce0cc45a2502d24a945809a
Main Page
0
16
883
850
2017-03-22T02:38:38Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
9ebd60e41026565bd176de9171c83b3ab6b7f132
912
883
2017-03-24T03:56:06Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
98aaf0155d9a693e59634b3adab458d41b5996cc
915
912
2017-03-24T04:03:35Z
Kever
2
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
1b3ba430c57ff4377e8c798783b57550582a217b
924
915
2017-03-29T09:55:44Z
Chery
9
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
f51acec902c686fee81c0af8bceec0ceb1a2ee59
927
924
2017-03-31T00:44:44Z
Admin
1
Protected "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Multimedia|Multimedia]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
f51acec902c686fee81c0af8bceec0ceb1a2ee59
Partitions
0
50
884
848
2017-03-22T02:54:27Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or U-Boot SPL
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| U-Boot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| ATF, trusted-os when using miniloader
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= Write GPT partition table through Rockchip rkdeveloptool =
WIP
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
c8360a6def11ba005885eb4dd43faf5cefb3da7b
Graphics
0
108
885
788
2017-03-22T03:11:08Z
Kever
2
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [[Xserver|Xserver]] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:Xserver gpu.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== DDX(modesetting) ===
See [https://www.x.org/wiki/ModeSetting/ ModeSetting ]for detail introduce.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland.png|RTENOTITLE]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [[Qt|QT]] can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps.
== MALI GPU driver ==
=== Structure ===
[[File:Mali gpu.png|RTENOTITLE]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:DRM.png|RTENOTITLE]]
=== Source code ===
mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/].
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
5619e4dec62dda5140da828eea9d9c1325ed91c2
Rockusb
0
122
887
804
2017-03-22T03:45:03Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom device mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
bfb38341be3980d870d4f8deb0cd20b2b62fb8f4
888
887
2017-03-22T03:50:10Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
0b50f3f39f8deb0952b6a6b68d1f3c32a45be6f1
894
888
2017-03-22T08:32:36Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
RK3288: 0x320a
RK3328: 0x320c
RK3399: 0x330a
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
ec8967ff924e199538f2446c23e610eefb30a8fb
895
894
2017-03-22T08:34:22Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
RK3288: 0x320a
RK3328: 0x320c
RK3399: 0x330a
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
ca502717af044f130705a9b924ecdb12e2b55d99
896
895
2017-03-22T08:34:36Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330a
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
c629b85a5c13c4620aac5a048e6bd5f798bc00e2
897
896
2017-03-22T08:44:31Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
- for sd-card, unplug the sd-card;
- for eMMC, short the eMMC clock to GND;
- for NAND, short the data line or clock line;
- for SPI, short the spi signal to GND;
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
72b14e93a8e7968613b993e931dd817fe8ba1f86
900
897
2017-03-23T03:34:56Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if ''recovery'' key is pressed, or there is no next stage firmware found.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
eb173a35438a9b83a93879ce496f7999ff2f05f0
901
900
2017-03-23T03:37:23Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*Loader mode, target run bootloader rockusb driver.
== Maskrom mode ==
When there is no any firmware found on board, the SoC will run Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if ''recovery'' key is pressed, or there is no next stage firmware found.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
fa05b200a111b9ae0b20589eb958f73261bc4c16
964
901
2017-04-11T10:06:36Z
Karen
3
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*Loader mode, target run bootloader rockusb driver.
== Maskrom mode ==
If there is no firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if ''recovery'' key is pressed, or there is no next stage firmware found.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
679a4d449eb7f33cbd636fd1b5a2b016ac8b4a88
965
964
2017-04-11T10:10:29Z
Karen
3
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*Loader mode, target run bootloader rockusb driver.
== Maskrom mode ==
If there is no firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.
== Bootloader mode ==
If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if ''recovery'' key is pressed, or there is no next stage firmware found.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
991a9741c0bfb70a02f7b53f425829c9dfaa3263
Boot option
0
116
889
858
2017-03-22T04:05:24Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]].
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**uboot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 uboot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader
<pre style="margin-left: 40px;">rkdeveloptool db
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
1fb3fc65d872456b1c22db92d1032138d4ca6eee
890
889
2017-03-22T04:07:13Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]].
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**uboot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 uboot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">rkdeveloptool db
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
=== Creating Image ===
Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img
</pre>
=== <br/> <var>build boot.img</var> ===
<pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128
sudo mkfs.fat boot.img
mkdir boot
sudo mount boot.img boot
sudo cp zImage boot
sudo cp rk3288-fennec.dtb boot
sudo mkdir boot/extlinux
sudo cp extlinux.conf boot/extlinux
sudo umount boot
</pre>
Download rootfs image and rename it
<pre>mv linaro-rootfs.img rootfs.img
</pre>
=== Making a SD Card for updating ===
Download [https://github.com/wzyy2/rk-initrd-build ramdisk source] and build.
<pre>sh ./mk-initrd.sh
</pre>
Format SD card
<pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192
Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
</pre>
<pre>sudo umount /dev/sdb1
sudo mkfs.fat /dev/sdb1
</pre>
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&&
sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256
</pre>
Copy zimage, dts and ramdisk to /dev/sdb1
<pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/
cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb
cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/
</pre>
Add extlinux/extlinux.conf to /dev/sdb1
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
initrd /initrd.img
append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152
</pre>
Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and [https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh] to /dev/sdb1
<pre>mkdir /media/chen/9F35-9565/update
cp u-boot-dtb.img /media/chen/9F35-9565/update
cp uboot-spl.img /media/chen/9F35-9565/update
cp boot.img /media/chen/9F35-9565/update
cp rootfs.img /media/chen/9F35-9565/update
cp update.sh /media/chen/9F35-9565/update
</pre>
=== Updating the board ===
Boot the board and it will flash image to eMMC
== Boot from USB-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk.
Difference:
<pre>label kernel-4.4
kernel /zImage
fdt /rk3288-fennec.dtb
append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init
</pre>
<pre>gpt write usb 0 $partitions
ums 0 usb 0
</pre>
= Boot from Network =
d144411148b93b6ffc3c81487e1c2707b2e27afc
891
890
2017-03-22T08:13:28Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]].
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px;">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/mmcblk1p7''' rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/sda1''' rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
49e8a6397565cb3048da6ee52591546cfefa4bba
892
891
2017-03-22T08:17:49Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px;">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/mmcblk1p7''' rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/sda1''' rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
b51d0896b17a4aedfee211bc3d898045af99a65c
904
892
2017-03-23T06:52:46Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px;">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/sda1''' rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
980164de1a9b2617b236e62c7c6cfe7a15ab044d
905
904
2017-03-23T06:53:11Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px;">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
2c58189adb60dfc48baa2d6a0bc7780ad1a276b6
926
905
2017-03-30T10:50:53Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- optionally can use U-Boot SPL;
- or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
4b049f0ea7e2b9421892d235d109de26420cffa4
934
926
2017-04-05T02:42:57Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-----------+
| Boot | Terminology #1 | Actual | Rockchip |
| stage | | program | Loader |
| number | | name | Name |
+--------+----------------+----------+-----------+
| 1 | Primary | ROM code | BootRom |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | U-Boot | idbLoader | 0x40
| | Program | SPL | |
| | Loader (SPL) | | |
| | | | |
| 3 | - | U-Boot | U-Boot | 0x4000
| | | | |
| | | | |
| 4 | - | kernel | kernel | 0x8000
| | | | |
| 5 | - | rootfs | rootfs | 0x40000
+--------+----------------+----------+-----------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
897969084cecbbd93a4c02de3824cbbcb757806d
935
934
2017-04-05T07:33:02Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including bl31 and u-boot
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with rk miniloader
| | | | | |
| | | atf | trust.img | 0x6000 | only used with rk miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
413d81bba5cea95932943e06aea9f6c052aafffa
936
935
2017-04-05T07:35:29Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and bl31...
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | atf | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
b300b7fe3861c5e512bf9dc28cf346c4b5b57d91
937
936
2017-04-05T07:36:22Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
8ea4668de24eb9454aa953b59103a13513155ced
945
937
2017-04-10T07:28:47Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=$DDRTMP bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d $DDRTMP idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
cef0f119833b80df22f42766d2412f830fe6714b
Rkdeveloptool
0
106
893
661
2017-03-22T08:25:21Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>sudo make && make install</pre>
= Usage =
== Support commands ==
--------------------Tool Usage ---------------------<br/> Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
2c6e5d2f6bd72e51bb1411f9af3c1b61132f6378
899
893
2017-03-23T03:22:27Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>sudo make && make install</pre>
= Usage =
== Support commands ==
--------------------Tool Usage ---------------------<br/> Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
e089008bee63832efc29fa54c821e97c4ea56d7c
968
899
2017-04-12T02:13:49Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>sudo make && make install</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
52136bb025d61ae35d58eec250c80e75223be1f7
RK3399
0
21
910
867
2017-03-23T09:54:52Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
2034437a1abb18d91494566a34ad828b00b9f4de
938
910
2017-04-07T07:59:01Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Android =
Download link of image for the rk3399-excavator board:
[http://pan.baidu.com/s/1mimHZAS http://pan.baidu.com/s/1mimHZAS] password:5vue
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
c6c5be3300a465f7d2e3b7f9bd1aee54286b7c80
939
938
2017-04-07T08:02:05Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
28e101f6c194ad8178fe87c92da167cd2e25bcc3
File:Rockchip RK3288 TRM V1.2 Part1-20170321.pdf
6
128
911
2017-03-24T03:55:00Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3288
0
20
913
864
2017-03-24T03:57:13Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[[Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
d60f18e49232e602a32b8a5974610fc6cace9684
914
913
2017-03-24T03:57:40Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3328
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: Tinker board
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
db9a3f77987a60ecc03a9527a55022d769f63ee0
ATF
0
54
923
803
2017-03-29T09:54:19Z
Chery
9
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit§ion=4 edit]] =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build completed.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
76f5bc926c0313b1d3dd49d7a3ece0c3a2d2bc8e
961
923
2017-04-11T09:37:25Z
Karen
3
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[http://10.10.10.12:8444/index.php?title=RK3399 RK3399]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build completed.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
7e429972341bf71fc393d5dcb620e9a20a1cab2a
962
961
2017-04-11T09:38:43Z
Karen
3
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build completed.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [http://10.10.10.12:8444/index.php?title=Partitions partitions] definition, write to atf.img offset 0x6000.
8722a2bd3861e29fb234a88b83ef46050990be95
963
962
2017-04-11T09:40:02Z
Karen
3
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build completed.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
73f6d2b10f23719cf7f3a956cbc5ddadf579ae9f
U-Boot
0
11
925
766
2017-03-30T01:10:35Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x64.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
40b57df5b93b2a0d25357857d2d4c6e72cc8ae9f
948
925
2017-04-11T03:59:04Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
3bb26f06888b34a3060f544f2d3a74ab119c8302
949
948
2017-04-11T03:59:56Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
3f3c5cd9bc8a31d2723666901b7d3ca51a4b25ee
Rockchip Kernel
0
104
932
857
2017-04-05T02:41:06Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/</pre>
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
cb65c59775308c4a8eeac1dc1e2cb7cf8ad64f02
946
932
2017-04-10T08:54:46Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
=== Generae boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
29b20351f746805cb9c3273d907b5c9d0b093d37
958
946
2017-04-11T09:06:57Z
Karen
3
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
== generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
76464fb28314ee4b70ff2cf8bdecdf508980629e
959
958
2017-04-11T09:16:40Z
Karen
3
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
== Generate fatfs Boot Partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
ddaa697691b6a724f9d0172e68036a8e4faa0dd0
960
959
2017-04-11T09:17:07Z
Karen
3
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
== Generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
23b8769a0b9ab79164ba16038035b84bee956625
Rkdeveloptool
0
106
969
968
2017-04-12T02:14:53Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
bbb65b57dc4e3bc8f0c8eff81603678e03702d0c
970
969
2017-04-12T02:15:12Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
0fac0754220ebca62c12a48470fc8750dd53086f
1085
970
2017-04-20T08:58:55Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|rockchio Linux partitions definition]]
[[Boot_option]]
[[Rockusb]]
45b5698c3596e65e1e8923522533ab47e6523bba
1086
1085
2017-04-20T08:59:12Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use write lba command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use reset device comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
d20b6ca59014a19074dfb937e61f9681137e4a29
1098
1086
2017-05-02T08:02:42Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''wl'' command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
Note: The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source.
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre>
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use ''rd'' comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
dcb0cfb7fe010b62565f5e90486bb48841fdcba3
1106
1098
2017-05-08T03:39:25Z
Kever
2
wikitext
text/x-wiki
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''wl'' command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
'''NOTE''': The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source.
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre>
'''NOTE2''': The ''ul ''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd).
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use ''rd'' comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
71a77ffdfc4d394de84d1a92005d7b5fc86bcf67
1107
1106
2017-05-08T03:43:38Z
Kever
2
wikitext
text/x-wiki
rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little difference.
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''wl'' command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
'''NOTE''': The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source.
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre>
'''NOTE2''': The ''ul ''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd).
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use ''rd'' comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
b70a7da3a385a2969854172f58ea95cb94a6d2e1
1115
1107
2017-05-18T02:02:16Z
Kever
2
Kever moved page [[Rkdevelptool]] to [[Rkdeveloptool]]
wikitext
text/x-wiki
rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little difference.
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''wl'' command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
'''NOTE''': The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source.
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre>
'''NOTE2''': The ''ul ''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd).
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use ''rd'' comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
b70a7da3a385a2969854172f58ea95cb94a6d2e1
Partitions
0
50
971
884
2017-04-12T02:17:40Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or U-Boot SPL
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| U-Boot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| ATF, trusted-os when using miniloader
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= Write GPT partition table through Rockchip rkdeveloptool =
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
where the sample parameter_gpt.txt including partition information:
<pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs)
</pre>
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
26768e05645ca9243059eea48b4e4380da3db1dc
972
971
2017-04-12T02:18:43Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default partition map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! Mount Point
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 8000
| 00001F40
| 4096000
| 3.91MB
|
| miniloader or U-Boot SPL
|-
| reserved1
| 8064
| 00001F80
| 128
| 00000080
| 65536
| 64KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| parameter or vendor data
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
|
| U-Boot when using miniloader
|-
| atf
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
|
| ATF, trusted-os when using miniloader
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
|
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
|
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= Write GPT partition table through rkdeveloptool =
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
where the sample parameter_gpt.txt including partition information:
<pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs)
</pre>
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
1db9070b0085b0f8cda582a1a266d6a580202922
RK3399
0
21
986
939
2017-04-12T12:38:12Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://www.t-firefly.com/zh/firenow/Firefly-rk3399/</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
e298c962612fe900a36834aa847001c0f3002b73
1067
986
2017-04-18T03:37:02Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://www.t-firefly.com/zh/firenow/Firefly-rk3399/</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
b6368174c9dcb8d87468666bdf0c56b540c4ff73
1068
1067
2017-04-18T03:39:42Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://www.t-firefly.com/zh/firenow/Firefly-rk3399/</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
90753e5fed10c70c12d7240ffb1e5fe26960fd79
File:MPP Development Reference.pdf
6
130
995
2017-04-14T02:22:48Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp diagram.png
6
131
1004
2017-04-14T03:41:55Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp kernel.png
6
132
1019
2017-04-14T04:02:19Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp buffer.png
6
133
1023
2017-04-14T04:07:05Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp task 1.png
6
134
1030
2017-04-14T06:28:25Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp task.png
6
135
1031
2017-04-14T06:32:07Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp task 2.png
6
136
1032
2017-04-14T06:33:14Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp param 1.png
6
137
1036
2017-04-14T06:42:36Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mpp param 2.png
6
138
1037
2017-04-14T06:45:02Z
Rkvideo
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Boot option
0
116
1038
945
2017-04-14T06:49:58Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool r</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
3d5525345fa833c785bf4f2098b2ec34bafe6ee5
1070
1038
2017-04-19T02:02:42Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
b3692336815910b169b6034fc868c08289321027
1080
1070
2017-04-19T11:13:37Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
1630a0ee426edf2f8e5072f83c32426efa54553d
1081
1080
2017-04-19T11:21:54Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
https://github.com/rockchip-linux/rkbin
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
= Boot from Network =
5182b5051c5daf092b021ae7efef42a6e6fceb36
1087
1081
2017-04-20T09:01:37Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdevelptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
836b7a62319dde56644fe868a30f1ede02d8acc6
1119
1087
2017-05-18T02:06:49Z
Admin
1
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdevelptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
7ee551c240b29af5769d35b99afe2ce2a8bd602e
1120
1119
2017-05-18T02:07:19Z
Admin
1
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdevelptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
edd83ad672cff9cc8f7c6e686e47454a49aee2ce
1121
1120
2017-05-18T02:07:36Z
Admin
1
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=u-boot.bin of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40
dd if=bl3.itb of=sdb seek=0x200
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40
dd if=uboot.img of=sdb seek=0x4000
dd if=trust.img of=sdb seek=0x6000
dd if=boot.img of=sdb seek=0x8000
dd if=rootfs.img of=sdb seek=0x40000</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
06040dcf85997abd1212a159127558de6c076377
Main Page
0
16
1060
927
2017-04-17T01:29:28Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[mpp|Multimedia--Video Codec]]
**[[camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
15b27a6398e873a29b3c5621f016ddf1ba624521
1090
1060
2017-04-21T07:09:35Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[mpp|Multimedia--Video Codec]]
**[[camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
8ca93b2213c566862bbdef9bc7e87701f7393497
1100
1090
2017-05-05T09:30:19Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[mpp|Multimedia--Video Codec]]
**[[camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdevelptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
64461e39cd5b36a3d4805ce58622064146278ca9
1117
1100
2017-05-18T02:03:58Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdevelptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
9424707eab3c7bdc67a6ed155c9f0f9d00d26db6
1122
1117
2017-05-18T03:06:03Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
04927b11e74f4595cf50fdaeda0bf3da78a41878
Camera
0
74
1061
542
2017-04-17T01:31:49Z
Admin
1
Admin moved page [[MPP]] to [[Camera]] without leaving a redirect
wikitext
text/x-wiki
= Introduction =
= Download =
= Supported Devices =
= Configuration/Environment =
= Package =
= Install =
= See also =
= References =
5fc5ee3d81f8cb73eea0714fb252de3368f9f896
Rockusb
0
122
1074
965
2017-04-19T11:02:32Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*Loader mode, target run bootloader rockusb driver.
== Maskrom mode ==
If there is no firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
The phisical addres of offset in wl command is the offset plus 0x2000, eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
1640228ba5afed1df2a07b4d411cff6e112dfe17
1075
1074
2017-04-19T11:03:26Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*Loader mode, target run bootloader rockusb driver.
== Maskrom mode ==
If there is no firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
'''The phisical addres of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
408f79d68b88e778f1664202adae96efcc4f9cd8
1076
1075
2017-04-19T11:06:17Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
'''The phisical addres of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
2c58a7ff38493bf6411a5e4f30cb6c53dcd0debb
1077
1076
2017-04-19T11:07:48Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
'''The phisical addres of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
96da4a8246856dded8dc70d5769a69a050822f6c
1078
1077
2017-04-19T11:08:25Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
'''The phisical addres of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
4f59d3eb5e574eab821c38d3dbfec92e3412e406
1079
1078
2017-04-19T11:10:54Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
erase boottable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
'''The phisical addres of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
9a7e22e4d89a95314ff150193c019db8e05bd0a7
1118
1079
2017-05-18T02:04:37Z
Admin
1
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
erase boottable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptolol is not the phisical addresss,
the phisical offset 0~0x2000 is no able to write by wl command;
'''The phisical addres of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
0ac48a537d6be2e2c5e3249ca2df3f5a34cb7c50
Upstream Kernel
0
19
1088
782
2017-04-20T09:04:11Z
Kever
2
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399|RK3399]]
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
= Non-upstream module =
[[Graphics|Rockchp Graphics]]
[[Mpp|Rockchip Video]]
[[Camera|Rockchip Camera]]
79952c031524eceb0aac641923b93be3e3d0acec
File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf
6
139
1089
2017-04-21T07:08:49Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1091
1089
2017-04-21T08:21:39Z
Admin
1
Admin uploaded a new version of [[File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
ATF
0
54
1092
963
2017-04-25T07:05:43Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.bin when build completed.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
cff07bee220b1f6dea1988eda33ac91950caf003
1093
1092
2017-04-25T07:09:00Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
10d70af172cbcf497ac131884f6dc33afb2d2371
1096
1093
2017-04-27T06:34:19Z
Karen
3
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
eb3d632916835d7f52821d8b9b8c742e3ca3b1a3
File:Rockchip RK3399TRM V1.4 Part1-20170408.pdf
6
140
1099
2017-05-05T09:29:21Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Boot option
0
116
1123
1121
2017-05-18T03:09:43Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
d3fd7bf46296f09961720bf95b1c5cdf6c595372
1124
1123
2017-05-19T07:08:03Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At lase, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
e48d49022693b2dfb96944238181951d320b3111
File:RK3399-Q7 Front.jpg
6
144
1126
2017-06-01T06:57:25Z
Klaus
17
Theobroma Systems RK3399 Q7 SoM
wikitext
text/x-wiki
Theobroma Systems RK3399 Q7 SoM
34a20ca0bfbc880264b89bd9200dbf8782c05b7a
RK3399-Q7
0
145
1127
2017-06-01T07:51:30Z
Klaus
17
initial RK3399-Q7 board page
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399-Q7_Front.jpg |500px]]
}}
= Overview =
RK3399-Q7 is a System-on-Module from [https://www.theobroma-systems.com/ Theobroma Systems] featuring Rockchips [[RK3399|RK3399]]. The module follows the [https://www.sget.org/standards/qseven.html Qseven] specification electrical and mechanical and therefore compatible to current and future Qseven and µQseven modules. It integrates the most important components and thence need minimal external circuitry.
= Features =
*Rockchip [[RK3399|RK3399]]
**4x Cortex-A53
**2x Cortex-A72
**ARM Mali T-860MP4 GPU
*up to 4GB DDR3-1600
*on-module eMMC
*on-module Gigabit Ethernet
*communication offload controller
**freely programmable Cortex-M0
**USB and I<sup>2</sup>C attached to the host CPU
**stock firmware features
***[https://en.wikipedia.org/wiki/CAN_bus CAN]
***fan-control
***RTC
**SPI-NOR Flash
For more information see the [https://www.theobroma-systems.com/rk3399-q7/ product] page.
= Software and Documentation =
[https://www.theobroma-systems.com/rk3399-q7/resources Documentation]
[https://git.theobroma-systems.com/ GIT software repositories]
= EVK =
For easy evaluation and rapid development a evaluation kit is availabile. It is tailored to the features of the RK3399-Q7 and includes
*RK3399-Q7 SoM
**2GB DDR3
**8GB eMMC
*Haikou Baseboard
**Mini-ITX form factor
**PCIe expansion slot
**HDMI
**Video expansion slot
***MIPI-DSI
***MIPI-CSI
***eDP
**USB 3.0 ports
**I2S audio codec
**RS-232/RS-485 transceiver
**on-board USB to UART bridge
***with capability to power-cycle the board over USB
*thermal solution to evaluate passive and active cooling
*power supply with international power plug set
*microSD card
*printed manual
def0a4f303930e2010b6d40ef740c8ef7c2568d6
1129
1127
2017-06-02T07:18:07Z
Klaus
17
updated pictures
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399-Q7_Front.jpg |500px]]
}}
= Overview =
RK3399-Q7 is a System-on-Module from [https://www.theobroma-systems.com/ Theobroma Systems] featuring Rockchips [[RK3399|RK3399]]. The module follows the [https://www.sget.org/standards/qseven.html Qseven] specification electrical and mechanical and therefore compatible to current and future Qseven and µQseven modules. It integrates the most important components and thence need minimal external circuitry.
= Features =
*Rockchip [[RK3399|RK3399]]
**4x Cortex-A53
**2x Cortex-A72
**ARM Mali T-860MP4 GPU
*up to 4GB DDR3-1600
*on-module eMMC
*on-module Gigabit Ethernet
*communication offload controller
**freely programmable Cortex-M0
**USB and I<sup>2</sup>C attached to the host CPU
**stock firmware features
***[https://en.wikipedia.org/wiki/CAN_bus CAN]
***fan-control
***RTC
**SPI-NOR Flash
For more information see the [https://www.theobroma-systems.com/rk3399-q7/ product] page.
= Software and Documentation =
[https://www.theobroma-systems.com/rk3399-q7/resources Documentation]
[https://git.theobroma-systems.com/ GIT software repositories]
= EVK =
{{Infobox
| image = [[File:Haikou_Front_1200.jpg |500px]]
}}
For easy evaluation and rapid development an [https://www.theobroma-systems.com/haikou-q7-dev-kit/overview evaluation kit] is availabile. It is tailored to the features of the RK3399-Q7 and includes
*RK3399-Q7 SoM
**2GB DDR3
**8GB eMMC
*Haikou Baseboard
**Mini-ITX form factor
**PCIe expansion slot
**HDMI
**Video expansion slot
***MIPI-DSI
***MIPI-CSI
***eDP
**USB 3.0 ports
**I2S audio codec
**RS-232/RS-485 transceiver
**on-board USB to UART bridge
***with capability to power-cycle the board over USB
*thermal solution to evaluate passive and active cooling
*power supply with international power plug set
*microSD card
*printed manual
129a232efee81be6986261229d62eb55757a924e
File:Haikou Front 1200.jpg
6
146
1128
2017-06-02T07:14:12Z
Klaus
17
Theobroma Systems Q7 Baseboard Haikou
wikitext
text/x-wiki
Theobroma Systems Q7 Baseboard Haikou
5c88444dcfcaf7839b5a362d620f1ad03d769994
RK3399
0
21
1130
1068
2017-06-02T07:20:06Z
Klaus
17
Added RK3399-Q7 to device list
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
f3cb07a3fde1ca9e0306b13cbe48d31e59e0f37f
1152
1130
2017-06-12T03:36:55Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#RK3399 Design Guide_V1.0_20170420.pdf
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
9b1efc7a7571cec530752301fa549cb6b215ff24
1154
1152
2017-06-12T03:44:27Z
Chery
9
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
! style="width: 310px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
3057f4a054f9f55f3aaa6c62e4732b3ccd9b1bc1
1155
1154
2017-06-13T08:49:10Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
</pre>
== How to build the sources ==
=== Build Environment ===
You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install ARM cross-compile tool chain and compile kernel relative software package:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel & resource ===
For RK3399 Excavator-sapphire board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
</pre>
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]] from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh </div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
753174e468d5fc1f79a61d756bffdfe9a2a58fd9
1164
1155
2017-06-14T09:17:46Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
8ef52773ea616f247954ca19480964d457c182a4
1165
1164
2017-06-14T09:20:09Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] or [http://opensource.rock-chips.com/wiki_Upstream_Kernel Upstream kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Distribution Distribution] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
7fec58530dc8d648206b1ee7786de4d2f5701ee3
1167
1165
2017-06-14T09:46:10Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] or [http://opensource.rock-chips.com/wiki_Upstream_Kernel Upstream kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Distribution Distribution] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
18de176075516bc8a33204c79c8f922ce57535dd
1168
1167
2017-06-14T09:50:52Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
c4ebaf11caf9e05c994c908f296a6e69098cb1f5
1173
1168
2017-06-19T07:34:39Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[[RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]]
#[[RK3399_Linux_Buildroot_V1.2开发说明170619.pdf|RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
31e94505de7ea8733a4468a45512d6f83b8203f3
1174
1173
2017-06-19T07:37:22Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
56fefe2f94e808078469dd010a402bb8d1b7fe59
1178
1174
2017-06-21T02:36:48Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | Firefly-RK3399
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
215c4d2424f1e90eba4870d4382d0a3879c00fd8
1221
1178
2017-07-12T09:47:09Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | rk3399-firefly
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
b1d6ddce210dbcaa1587fabbda30fcdb85d03702
1222
1221
2017-07-12T09:50:24Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | rk3399-firefly
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-f][http://wiki.t-firefly.com/index.php/Firefly-RK3399 irefly]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
7ca06932f364b38034ea3d117b149315c7384795
1223
1222
2017-07-12T09:51:35Z
Kevan
10
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | rk3399-firefly
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
0e59674f2c4a0114a1d15b712c4e02fadd7058d0
Devices
0
49
1131
421
2017-06-02T11:34:51Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
[[Firefly-RK3288]]
[[ASUS_Tinker|ASUS Tinker Board]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]]
= RK3328 Boards =
8695b50d650375afb1e4104bad1e64c7c1732ba8
1136
1131
2017-06-09T01:45:01Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]]
= RK3328 Boards =
f3f69e3743ebc7bdc4a4aae13e691fc20641171c
1138
1136
2017-06-09T01:47:16Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]]
= RK3328 Boards =
861b25cc5f9c5f6429e046e206db4f6e148fc4d2
1140
1138
2017-06-09T01:53:26Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]]
= RK3328 Boards =
893acf00954db9440c607901f42a794f1cadd6a9
1147
1140
2017-06-09T02:08:10Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]]
= RK3328 Boards =
[[ROCK64]]
8dca224250ca2e3caa6920ecd9c6929659b54776
1150
1147
2017-06-09T02:11:13Z
Kever
2
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
= RK3328 Boards =
[[ROCK64]]
9ec156504881382d76d6f572d41129909e1d4f27
Popmetal
0
29
1141
877
2017-06-09T01:53:51Z
Kever
2
wikitext
text/x-wiki
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[[Firefly-RK3288_reload|Firefly-RK3288_reload]]
#[[Rock2_Square|Rock2_Square]]
#[[Rock2_Full|Rock2_Full]]
#[[MiQi|MiQi]]
#[[Fennec|Fennec]]
#[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
aa7436fe66ca5253a2b8a810c175c356dd506f64
RK3288
0
20
1149
914
2017-06-09T02:10:05Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
7cb3a7a3b177f63dd782a4c106fd418b9f194bc7
1166
1149
2017-06-14T09:37:08Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
3dab8f277c495d628cff29129dafe29de562f1c5
File:RK3399 Design Guide V1.0 20170420.docx
6
148
1151
2017-06-12T03:13:07Z
Chery
9
RK3399 Hardware Design Guide
wikitext
text/x-wiki
RK3399 Hardware Design Guide
a1cdacdbe699c1a5bcd8750e434cb0d5b6bd8684
File:RK3399 Design Guide V1.0 20170420.pdf
6
149
1153
2017-06-12T03:38:00Z
Chery
9
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Excavator sapphire board
0
59
1169
844
2017-06-14T10:28:08Z
Kevan
10
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html
d0256b50b7432807c724caa7e20f34bfb7425785
File:RK3399 Linux Buildroot V1.2开发说明170619.pdf
6
150
1171
2017-06-19T07:30:31Z
Kevan
10
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1220
1171
2017-07-12T09:43:38Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Buildroot V1.2开发说明170619.pdf]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:RK3399 Linux Buildroot V1.2 Development Guide170619.pdf
6
151
1172
2017-06-19T07:34:00Z
Kevan
10
RK3399 Linux Buildroot V1.2 Development Guide170619.pdf
wikitext
text/x-wiki
RK3399 Linux Buildroot V1.2 Development Guide170619.pdf
ab31c28b07cc3878a13e1a3e8624b35fd9beca25
1175
1172
2017-06-21T02:32:28Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Buildroot V1.2 Development Guide170619.pdf]]
wikitext
text/x-wiki
RK3399 Linux Buildroot V1.2 Development Guide170619.pdf
ab31c28b07cc3878a13e1a3e8624b35fd9beca25
1219
1175
2017-07-12T09:42:57Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Buildroot V1.2 Development Guide170619.pdf]]
wikitext
text/x-wiki
RK3399 Linux Buildroot V1.2 Development Guide170619.pdf
ab31c28b07cc3878a13e1a3e8624b35fd9beca25
File:RK3399 Linux Debain V1.1 Development Guide170620.pdf
6
152
1176
2017-06-21T02:33:25Z
Kevan
10
RK3399_Linux_Debain_V1.1 Development Guide
wikitext
text/x-wiki
RK3399_Linux_Debain_V1.1 Development Guide
7e3d521977619346f72d1df0841e6586c45f872a
1218
1176
2017-07-12T09:42:21Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Debain V1.1 Development Guide170620.pdf]]
wikitext
text/x-wiki
RK3399_Linux_Debain_V1.1 Development Guide
7e3d521977619346f72d1df0841e6586c45f872a
File:RK3399 Linux Debian v1.1开发说明170620.pdf
6
153
1177
2017-06-21T02:33:52Z
Kevan
10
RK3399_Linux_Debian_v1.1开发说明
wikitext
text/x-wiki
RK3399_Linux_Debian_v1.1开发说明
ea80a7eec829ea80686a0bb9f3f6dbca94e4be60
1217
1177
2017-07-12T09:41:08Z
Kevan
10
Kevan uploaded a new version of [[File:RK3399 Linux Debian v1.1开发说明170620.pdf]]
wikitext
text/x-wiki
RK3399_Linux_Debian_v1.1开发说明
ea80a7eec829ea80686a0bb9f3f6dbca94e4be60
Rockchip Kernel
0
104
1179
960
2017-06-22T07:51:46Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
== Generate fatfs boot partition ==
=== Via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
850204177a719dd736530065098437f91ae19733
RK3328
0
24
1189
862
2017-06-29T03:12:01Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
#REDIRECT
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
98b1553518c22cc1eb66e633df7c0c0ac3c6b1d6
1190
1189
2017-06-29T03:12:53Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
[[ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
2ea572b6095d63445a9709149452115f2207cfb5
1191
1190
2017-06-29T03:16:48Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64:[[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
806e9d53c0179e4b99de447a12180e5e4d1b5055
1198
1191
2017-06-29T03:25:44Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64:[[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
42d654b445980f4c825c93cbeb0a5e404a3bec99
1203
1198
2017-06-29T03:44:43Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
cbaba83fedaf0fd269ab6067954cdf1b08f8c442
1204
1203
2017-06-29T03:52:20Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328r-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
6380f0b33cace97ce77e023a446b66305e0f2eba
1205
1204
2017-06-29T03:52:54Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328-evb.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 1
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
edb370882abd889c17d0a4f15b328586502fb2b6
1206
1205
2017-06-29T03:53:41Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328-evb.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
f688a5fbc487c574e046dd21fb459ae79c7d0776
Distribution
0
105
1230
741
2017-07-21T02:02:24Z
Kevan
10
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/source.list(for compiling xserver)
<pre>deb http://ports.ubuntu.com/ubuntu-ports/
deb-src http://ports.ubuntu.com/ubuntu-ports/
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone https://github.com/rockchip-linux/xserver.git
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== Build from packages ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
= See also =
[[Yocto|yocto]]
[[Buildroot|buildroot]]
2148190c283716ec051f5aed67c7d58051827ee4
1263
1230
2017-08-09T03:24:09Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/sources.list(for compiling xserver)
<pre>deb http://ports.ubuntu.com/ubuntu-ports/
deb-src http://ports.ubuntu.com/ubuntu-ports/
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone https://github.com/rockchip-linux/xserver.git
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== Build from packages ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
= See also =
[[Yocto|yocto]]
[[Buildroot|buildroot]]
ec0b4bedb83ba33cad0e6bcb9c55b35961f2f057
1264
1263
2017-08-09T03:31:59Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/sources.list(for compiling xserver)
<pre># See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
#deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
#deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
#deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
#deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get update
apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone https://github.com/rockchip-linux/xserver.git
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== Build from packages ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
= See also =
[[Yocto|yocto]]
[[Buildroot|buildroot]]
e13429e9aaa3d0c7ffed0ac1bcfb2364d359ef5a
Boot option
0
116
1231
1124
2017-07-21T02:54:05Z
Sysproduct1
15
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
f21e7b3e83bb0053954bf5d422be71abbc01bdc4
1232
1231
2017-07-21T02:54:58Z
Sysproduct1
15
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
a7226c203b0ad4b4ac89712f0a0901dbbcd6ad15
1249
1232
2017-08-07T08:59:06Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rksoc boot storage.jpg]]
[[File:Rksoc boot flow.jpg]]
Thanks to Fu Wei from RedHat for provide these two flow diagram.
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
91098166c68589a60ae6db1e8991fb0218abf300
1250
1249
2017-08-07T09:09:03Z
Admin
1
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rksoc boot storage.jpg|100px|RTENOTITLE]]
[[File:Rksoc boot flow.jpg|100px|RTENOTITLE]]
Thanks to Fu Wei from RedHat for provide these two flow diagram.
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
43c98bb4ba2e09a578148e433474f42ed04cc8a8
1251
1250
2017-08-07T09:10:06Z
Admin
1
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rksoc boot storage.jpg|1000px|RTENOTITLE]]
[[File:Rksoc boot flow.jpg|1000px|RTENOTITLE]]
Thanks to Fu Wei from RedHat for provide these two flow diagram.
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
9be812df86cc0f3a5e0229341f9998abb1f25518
1252
1251
2017-08-07T09:23:30Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot stage ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf
| | | | u-boot.bin | 0x200 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rksoc boot storage.jpg|1000px|RTENOTITLE]]
[[File:Rksoc boot flow.jpg|1000px|RTENOTITLE]]
Thanks to Fu Wei from RedHat who is the author of these two flow diagram.
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
dc4bcae741288109caf31ffcf32a1134d6dcc301
File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf
6
139
1233
1091
2017-07-24T07:23:30Z
Sysproduct1
15
Sysproduct1 uploaded a new version of [[File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Status Matrix
0
154
1237
2017-08-03T02:47:53Z
Jacob
6
Created page with " == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288..."
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="7" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: yellow;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align:" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="tex" | style="background: grey; color: white;" | SUPPORTlightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: lightgreen;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
5a347324543e9683a0c33bf7c535463cd8d30dcd
1238
1237
2017-08-03T03:01:00Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="7" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
0d9a3141302829aca2f2f597b043b94ea78a2ee0
1239
1238
2017-08-03T03:12:21Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="7" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="7" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
1eafe86007932d66b2faf261df67c129e7cc9ba0
1240
1239
2017-08-03T03:13:42Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="7" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
e4c6ade0f9b72ee1fb3af98d5b7d16d66e86712d
1241
1240
2017-08-03T03:35:36Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
<br/>
== Linux SDK Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="4" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Graphics
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | Browser
| style="background: orange;" | WIP
|}
e1a4a9aa58bed80b471554d2a2d578df957d3a57
1242
1241
2017-08-03T03:39:31Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="4" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| colspan="2" rowspan="1" style="text-align: left;" | Browser
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" | IOT
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
513388014294e0ab8f3d5ab2ffb0e22f3dd94daa
1243
1242
2017-08-03T03:43:36Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="4" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
3c45cd7ff4155d12648fb6ce4190a36574bba055
1244
1243
2017-08-03T03:48:42Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
b4c48dea2eed072c25a34975767cc0916f621732
1256
1244
2017-08-08T07:39:11Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: grey; color: white;" |
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
ea011fadf670bafc75cb7e0dd956a1a4251591a2
1257
1256
2017-08-08T07:44:05Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
a3ffe41fa9ffa1316b3764a9520690398662a30e
1258
1257
2017-08-08T07:46:00Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
f9e1e38053cd8c17038161964ae5525b3129ca65
1259
1258
2017-08-08T07:51:34Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
31a54dab1469b10f04295233e0b495cbc1e93ff0
1260
1259
2017-08-08T07:57:02Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | UNCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | UNCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
4e29b16c9391c101e1064eed742d987fe8d1fe38
1261
1260
2017-08-08T07:57:32Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
69761d492359bf18d91d814033ec4dc72b1d4a68
1262
1261
2017-08-08T07:58:41Z
Kevan
10
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
44e45b2202efcab61c6fb24f308be5151d299b06
1267
1262
2017-08-15T08:05:39Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
b43d61ff2561a473a187c49b19ba06314a27bdc6
1268
1267
2017-08-15T08:11:50Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
308d413905f9c117b211343d7012f81c98b1f720
1269
1268
2017-08-15T08:14:16Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
43120441f6894e5a18c38d86a5da72d2cf74de16
1270
1269
2017-08-15T08:17:59Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
4866352d56153df79af74d3174b085c903a2aa62
1271
1270
2017-08-15T08:19:11Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
bd4e4076c7cde140bdc5981e1a1bbb0c42c24f7b
1272
1271
2017-08-15T08:22:18Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" |
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: grey; color: white;" |
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
d67ab9ad14fda305a279e391b254e9b6cb0d675c
1273
1272
2017-08-15T08:24:44Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
a3104932b6481ced1a3a29117979fff83b8fb64b
1274
1273
2017-08-15T08:28:24Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| tyle="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
59095ec330b1f49cec82797af14d598d33c71b7f
1275
1274
2017-08-15T08:31:20Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| tyle="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: grey; color: white;" |
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
6c071ffcb697b16d2623a456d77a288a324ae6a3
1276
1275
2017-08-15T08:33:00Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| tyle="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
70001e24a0def70b3f214def02975c417a26ff67
1277
1276
2017-08-15T08:41:34Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | EMMC Ready
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: grey; color: white;" | ?
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
ee778075610751b508efc1179b7259afa5e21482
1278
1277
2017-08-15T09:12:51Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | EMMC Ready
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
2c7468e50e4ae7bad638af3440cfc482eb911e70
1279
1278
2017-08-15T09:15:56Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | EMMC Ready
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
5d0affb56d364f8951655c6e44045e99285b775f
1280
1279
2017-08-15T09:29:07Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
6ad47e50d6ba0e42a3a53e08ef28feb88ba72445
1281
1280
2017-08-15T09:30:16Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: grey; color: white;" | ?
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
e4a09d8c5a278fd5fc6f59779817b35cf2c7970b
1282
1281
2017-08-15T09:33:34Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
eca222b23b777e633b8c2853fd71f566143c8d7d
1283
1282
2017-08-15T09:40:38Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
c4bacbd058d121e1132f9c2c59c038069680743b
1284
1283
2017-08-16T06:21:13Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
0e775a29a26c0f129571c645645b4e3886b7fdad
1285
1284
2017-08-16T06:32:08Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
d9d6a382402b5ac3dc64eb288b66e69560a63308
1286
1285
2017-08-16T07:49:11Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
7f1093bf16b15fd74010d9b4f0aaf2f78dcd936c
RK3288
0
20
1246
1166
2017-08-04T06:35:51Z
Jacob
6
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3288-evb-act8846.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
bbf380598e4130b338947101b5cdc8a5db4c6182
File:Rksoc boot storage.jpg
6
155
1247
2017-08-07T08:52:07Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rockchip Kernel
0
104
1253
1179
2017-08-08T04:08:54Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
32552cd499c02903c8e467417df2cbdb22912e8a
Main Page
0
16
1254
1122
2017-08-08T06:34:51Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
6002166fb173da834951bd7299472c2b1934675d
Xserver
0
114
1265
790
2017-08-09T07:20:39Z
Kever
2
wikitext
text/x-wiki
= Download xserver =
Download source code from Rockchip github git repository
<pre>git clone https://github.com/rockchip-linux/xserver.git</pre>
=== Branch rockchip-1.8 ===
This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it.
= Performance =
=== Without glamor ===
<pre>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple)
40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple)
720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple)
30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple)
</pre>
=== With glamor ===
<pre>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile)
20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile)
10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile)
600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile)
</pre>
<br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor.
=== Check whether enable GLAMOR ===
<pre>cat /var/log/Xorg.0.log | grep glamor
</pre>
If it shows "glamor initialized", it means the acceleration was enabled.
=== Why failed to enable ===
*Kernel space gpu driver is not compatible with userspace(libmali)
*Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority.
*Improper depends. Try update libepoxy to 1.31.
= How to build xserver =
== Cross compile in PC host ==
We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see [https://github.com/rockchip-linux/docker-rockchip here] )
#Install all the build dependency for the xserver.
#Install the library mali and development files. You must use the version comes from Rockchip.
#Entry the xserver directory.
#Build with the Debian build tools.
== Local build ==
apt-get build-dep xserver-xorg
= How to debug xserver =
You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb.
Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too.
<pre>apt-get install gdb libc6-dbg
gdb -p $(pidof X)
(inside gdb)
set logging overwrite on
set logging on
break xorg_backtrace
continue
(X server is stopped from when gdb is attached until "continue" is typed)
(do whatever caused the problem)
bt full
set logging off
quit
</pre>
After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above.
More info please see [https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here].
==== Untrap signals ====
The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf:
<pre>Section "ServerFlags"
Option "NoTrapSignals" "true"
EndSection
</pre>
and restart your X server.
39dd0ba63ae29a78dc1be8202fa3232a1615e4cf
File:RK3328 Linux-Debian V1.1 Development Guide-20170711.pdf
6
157
1287
2017-08-17T06:24:55Z
Sysproduct1
15
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3328
0
24
1288
1206
2017-08-17T06:27:34Z
Sysproduct1
15
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328-evb.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
0f8b0f15baf00c4b039022820115bcb1929df0d9
Rockusb
0
122
1289
1118
2017-08-21T03:54:30Z
Karen
3
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the phisical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
11d9d3aceaf34b2f3983d361f3a247079cad10aa
1290
1289
2017-08-21T03:57:53Z
Karen
3
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for sd-card, unplug the sd-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
cf4e616cdc7f2361ad9df0465f16bc73166a3400
1291
1290
2017-08-21T06:59:45Z
Karen
3
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
487811ac9c368a4d49c62e4d0ed67854b774eff7
Rockchip Kernel
0
104
1292
1253
2017-08-22T07:54:32Z
Karen
3
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
ea81236550ac3b89f0bb931a8a4b677eb0fe7c7a
1317
1292
2017-10-02T14:08:42Z
Jacob
6
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
= See also: =
[[Rga|RGA]]
d96f57407da93d7e68a65124a66aead549475537
1318
1317
2017-10-02T14:08:59Z
Jacob
6
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
= See also =
[[Rga|RGA]]
f338645a75677330049b3d60366867da8e3d9509
1432
1318
2017-10-11T01:52:22Z
Jacob
6
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
70bbae830d9ea42fc150cd7a08897a474124e143
Distribution
0
105
1293
1264
2017-08-23T08:49:54Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= Ubuntu 16.04 =
download and extract ubuntu-xenial
<pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz
sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz
</pre>
copy qemu
<pre>sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static usr/bin/
</pre>
copy host's dns to rootfs
<pre>sudo cp -b /etc/resolv.conf etc/resolv.conf
</pre>
add the following repository to etc/apt/sources.list(for compiling xserver)
<pre># See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
#deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
#deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
#deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
#deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted
</pre>
chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh]
<pre>ch-mount.sh -m ubuntu/
</pre>
install desktop
<pre>apt-get update
apt-get install lightdm vim git
apt-get build-dep xserver-xorg-core
</pre>
extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance)
<pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl
</pre>
download xserver
<pre>git clone https://github.com/rockchip-linux/xserver.git
</pre>
delete those in configure.ac
<pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR,
[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []
</pre>
build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment)
<pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log
make
make install
</pre>
set password
<pre>useradd -s '/bin/bash' -m -G adm,sudo rk
echo "Set password for rk:"
passwd rk
echo "Set password for root:"
passwd root
</pre>
exit chroot
<pre>exit
ch-mount.sh -u ubuntu/
</pre>
<br/> copy ttyS2.conf and udev directory to target rootfs from [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build]
make image
<pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000
sudo mkfs.ext4 ubuntu.img
mkdir ubuntu-mount
sudo mount ubuntu.img ubuntu-mount
sudo cp -rfp ubuntu/* ubuntu-mount
sudo umount ubuntu-mount
e2fsck -p -f ubuntu.img
resize2fs -M ubuntu.img
</pre>
==== Build from packages ====
There is a ubuntu build script in our [https://github.com/rockchip-linux/rk-rootfs-build rootfs-build] repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme.
= See also =
[[Yocto|yocto]]
[[Buildroot|buildroot]]
37b59c3b241b5d01dd084e69df3696bb5060fb5c
Rkdeveloptool
0
106
1294
1115
2017-08-30T06:39:15Z
Sysproduct1
15
wikitext
text/x-wiki
rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little difference.
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''wl'' command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
'''NOTE''': The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source.
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre>
'''NOTE2''': The ''ul ''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd).
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use ''rd'' comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
99b6e288c586b9c3b6240f7577132e8b1eed8909
1295
1294
2017-08-30T07:36:38Z
Sysproduct1
15
wikitext
text/x-wiki
rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little difference.
= Download rkdeveloptool =
Get the source code for rkdeveloptool
<pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git
</pre>
= Build rkdeveloptool =
First, install the libusb and udev. In Ubuntu,
<pre>sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf</pre>
Then
<pre>autoreconf -i
./configure
make
make install
</pre>
If you encounter compile error like below
<pre>./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'
./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'
</pre>
You should install pkg-config libusb-1.0
<pre>sudo apt-get install pkg-config libusb-1.0
</pre>
= Usage =
== Support commands ==
----
Tool Usage ---------------------
Help: -H<br/> Version: -V<br/> DownloadBoot: DB <Loader><br/> UpgradeLoader: UL <Loader><br/> ReadLBA: RL <BeginSec> <SectorLen> <File><br/> WriteLBA: WL <BeginSec> <File><br/> WriteGPT: GPT <parameter><br/> EraseFlash: EF <br/> TestDevice: TD<br/> ResetDevice: RD [subcode]<br/> ReadFlashID: RID<br/> ReadFlashInfo: RFI<br/> ReadChipInfo: RCI<br/> -------------------------------------------------------<br/>
== Flash image to target emmc ==
In order to flash image to target emmc,
#Make target get into [[Rockusb|rockusb mode]];
#Connect target to Host PC via USB;
#Write the image to the eMMC with tool command;
<ul style="margin-left: 40px;">
<li>use download boot command to make target init DRAM and run usbplug;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre>
<ul style="margin-left: 40px;">
<li>use ''wl'' command to write image to target, this step can be repeat for many times;</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img</pre>
<ul style="margin-left: 40px;">
<li>usb ''ul'' command to write idbloader into idb from rockchip loader</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
'''NOTE''': The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source.
<pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre>
'''NOTE2''': The ''ul ''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd).
<ul style="margin-left: 40px;">
<li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre>
<ul style="margin-left: 40px;">
<li>use ''rd'' comamnd to reset the target after image write complete</li>
</ul>
<pre style="margin-left: 80px;">rkdeveloptool rd</pre>
= See also =
[[Partitions|Rockchip Linux partitions definition]]
[[Boot_option|Boot_option]]
[[Rockusb|Rockusb]]
9b08ac77be53fda45853bc96b4c3e1e0ba1560aa
Status Matrix
0
154
1302
1286
2017-09-25T03:52:18Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: orange;" | MPP
| style="background: orange;" | MPP
| style="background: orange;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
8940769166c3ab5a021d0d6694a1ef13ede4c7b4
1303
1302
2017-09-25T03:52:43Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
35db3c6f08905638e82a9e0542e0e83ec05531c6
1304
1303
2017-09-25T03:53:16Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: orange;" | WIP
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
7e52f5ad07dd971bc8510deef6886a022b90493e
1305
1304
2017-09-28T02:45:31Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: grey; color: white;" | ?
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: grey; color: white;" | ?
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
9a21ceff14c3d78eae01683f8312600b946c326b
1306
1305
2017-09-28T04:06:22Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
939258e1772f315eaabed6b73dd5f01fc32d1d4c
1307
1306
2017-09-28T07:14:50Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: grey; color: white;" | ?
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
efef4a6a684fe01d719302a37c570e50aa83894e
1308
1307
2017-09-28T07:17:48Z
Sysproduct1
15
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.4
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.4
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
| style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE]
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
3ccf6df7d16c655bf7035b2fde5467578f0eba55
1319
1308
2017-10-03T09:21:37Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.4
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.4
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
05554a9abbfe2e980e2aa23c9b0f6012b81b4481
Software habits
0
159
1321
2017-10-09T06:29:39Z
Jacob
6
Created page with " 简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加 = Loader/Firmware = == 1.[https://github.com/rockchip-linux/rkbin rkbin]..."
wikitext
text/x-wiki
简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加
= Loader/Firmware =
== 1.[https://github.com/rockchip-linux/rkbin rkbin] ==
暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。
== 2.[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] ==
build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。
分区表:https://github.com/rockchip-linux/build/blob/debian/partitions.sh
板级配置: https://github.com/rockchip-linux/build/blob/debian/board_configs.sh
idbloader, uboot.img, trust.img的制作:https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh
一体image的制作,还有uboot的制作:https://github.com/rockchip-linux/build/blob/debian/mk-image.sh
根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh
== 3.Build-Yocto ==
yocto里制作image和debian差不多
烧写脚本(同debian):https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh
一体image的制作(包含idbloader) : https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass
ddr, trust, loader的载入和预处理: https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb
prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb
需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。
= Debian =
= Yocto =
yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。
(yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s)
meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。
板级 芯片级配置 : https://github.com/rockchip-linux/meta-rockchip/tree/master/classes
内核 : https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel
u-boot : https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux
meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。
发行版配置 : https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf
image : https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images
自启规则 : https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart
7ee7b47f8248ea9b7541465d0e70385f52dae66a
1322
1321
2017-10-09T06:34:44Z
Jacob
6
wikitext
text/x-wiki
简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加
= Loader/Firmware =
== 1.[https://github.com/rockchip-linux/rkbin rkbin] ==
暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。
== 2.[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] ==
build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。
分区表:[https://github.com/rockchip-linux/build/blob/debian/partitions.sh https://github.com/rockchip-linux/build/blob/debian/partitions.sh]
板级配置: [https://github.com/rockchip-linux/build/blob/debian/board_configs.sh https://github.com/rockchip-linux/build/blob/debian/board_configs.sh]
idbloader, uboot.img, trust.img的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh]
一体image的制作,还有uboot的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-image.sh https://github.com/rockchip-linux/build/blob/debian/mk-image.sh]
根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: [https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh]
== 3.Build-Yocto ==
yocto里制作image和debian差不多
烧写脚本(同debian):[https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh]
一体image的制作(包含idbloader) : [https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass]
ddr, trust, loader的载入和预处理: [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb]
prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb]
需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。
= Debian =
实质就是live-build上网apt构建基本系统, 可以到ubuntu-build-service下增删软件: https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh
实质就是chroot到系统里执行一系列命令来做配置: https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh
deb的打包需要docker: https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf
= Yocto =
yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。
(yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s可以列出可选择的bitbake对象)
meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。
板级 芯片级配置 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/classes https://github.com/rockchip-linux/meta-rockchip/tree/master/classes]
内核 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel]
u-boot : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux]
meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。
发行版配置 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf]
image : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images]
自启规则 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart]
b43b45fc78bde6892ebb4b2344380880cdbb82eb
1323
1322
2017-10-09T06:35:44Z
Jacob
6
wikitext
text/x-wiki
简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加
= Loader/Firmware =
== [https://github.com/rockchip-linux/rkbin rkbin] ==
暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。
== [https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] ==
build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。
分区表:[https://github.com/rockchip-linux/build/blob/debian/partitions.sh https://github.com/rockchip-linux/build/blob/debian/partitions.sh]
板级配置: [https://github.com/rockchip-linux/build/blob/debian/board_configs.sh https://github.com/rockchip-linux/build/blob/debian/board_configs.sh]
idbloader, uboot.img, trust.img的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh]
一体image的制作,还有uboot的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-image.sh https://github.com/rockchip-linux/build/blob/debian/mk-image.sh]
根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: [https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh]
== Build-Yocto ==
yocto里制作image和debian差不多
烧写脚本(同debian):[https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh]
一体image的制作(包含idbloader) : [https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass]
ddr, trust, loader的载入和预处理: [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb]
prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb]
需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。
= Debian =
实质就是live-build上网apt构建基本系统, 可以到ubuntu-build-service下增删软件: https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh
实质就是chroot到系统里执行一系列命令来做配置: https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh
deb的打包需要docker: https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf
= Yocto =
yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。
(yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s可以列出可选择的bitbake对象)
meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。
板级 芯片级配置 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/classes https://github.com/rockchip-linux/meta-rockchip/tree/master/classes]
内核 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel]
u-boot : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux]
meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。
发行版配置 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf]
image : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images]
自启规则 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart]
77485504f2e97b984ddd57f108cd07249e565fd6
1324
1323
2017-10-09T06:41:12Z
Jacob
6
wikitext
text/x-wiki
简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加
= Loader/Firmware =
== [https://github.com/rockchip-linux/rkbin rkbin] ==
暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。
== [https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] ==
build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。
分区表:[https://github.com/rockchip-linux/build/blob/debian/partitions.sh https://github.com/rockchip-linux/build/blob/debian/partitions.sh]
板级配置: [https://github.com/rockchip-linux/build/blob/debian/board_configs.sh https://github.com/rockchip-linux/build/blob/debian/board_configs.sh]
idbloader, uboot.img, trust.img的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh]
一体image的制作,还有uboot的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-image.sh https://github.com/rockchip-linux/build/blob/debian/mk-image.sh]
根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: [https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh]
== Build-Yocto ==
yocto里制作image和debian差不多
烧写脚本(同debian):[https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh]
一体image的制作(包含idbloader) : [https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass]
ddr, trust, loader的载入和预处理: [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb]
prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb]
需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。
= Debian =
实质就是live-build上网apt构建基本系统, 可以到ubuntu-build-service下增删软件: [https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh]
实质就是chroot到系统里执行一系列命令来做配置: [https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh]
deb的打包需要docker: [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf]
= Yocto =
yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。
(yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s可以列出可选择的bitbake对象)
meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。
板级 芯片级配置 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/classes https://github.com/rockchip-linux/meta-rockchip/tree/master/classes]
内核 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel]
u-boot : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux]
meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。
发行版配置 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf]
image : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images]
自启规则 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart]
= 版本管理 =
暂时没有很明确的版本的管理, debian都是滚动的, yocto的话通过rev固定住软件版本。
注意的是yocto还有上游版本区分,目前我们就是只更新最新的stable branch, 比如最新的stable branch是pyro, 那就yocto的修改就要同时推送master和pyro,直到stable branch变了。
c4b1b4fbe5fbbf6148425b305ac5bfc9148493ee
Board Config
0
160
1348
2017-10-10T09:59:09Z
Jacob
6
Created page with " = Board config = == defconfig and dts == Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the corre..."
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.
{| border="1"
|-
! board
! uboot
! kernel config
! kernel dts
|-
| rk3288-evb
| evb-rk3288_defconfig
| rockchip_linux_defconfig
| rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
|-
| rk3288-fennec
| fennec-rk3288_defconfig
| rockchip_linux_defconfig
| rk3288-fennec.dts
|-
| rk3288-miniarm
| tinker-rk3288_defconfig
| rockchip_linux_defconfig
| rk3288-miniarm.dts
|-
| rk3288-firefly
| firefly-rk3288_defconfig
| rockchip_linux_defconfig
| rk3288-firefly.dts
|-
| rk3328-evb
| evb-rk3328_defconfig
| rockchip_linux_defconfig
| rk3328-evb.dts
|-
| rk3399-excavator
| evb-rk3399_defconfig
| rockchip_linux_defconfig
| rk3399-sapphire-excavator-linux.dts
|-
| rk3399-firefly
| firefly-rk3399_defconfig
| rockchip_linux_defconfig
| rk3399-firefly-linux.dts
|-
| rk3036-kylin
| kylin-rk3036_defconfig
| rockchip_linux_defconfig
| rk3036-kylin.dts
|}
----
== Config Per Chip ==
{| border="1"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
f3bbd0a09a0090a7e1d0251f5a6c120e0d828f5c
1351
1348
2017-10-10T10:12:57Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 789px;"
|-
! style="width: 153px;" | board
! style="width: 172px;" | uboot
! style="width: 167px;" | kernel config
! style="width: 287px;" | kernel dts
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
|}
----
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
4e1e0f9c8b0fc6f78639af2c7425af4f47b18aad
1352
1351
2017-10-10T10:21:19Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 789px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="2" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px;" | mostly LPDDR3
| style="width: 287px;" | act8846
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px;" | LPDDR3
| style="width: 287px;" | rk808
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px;" | LPDDR3
| style="width: 287px;" | rk808
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px;" | DDR3
| style="width: 287px;" | rk808
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px;" | DDR3
| style="width: 287px;" | rk818
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px;" | LPDDR3
| style="width: 287px;" | rk805
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px;" | LPDDR4
| style="width: 287px;" | rk808
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px;" | LPDDR4
| style="width: 287px;" | rk808
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px;" | LPDDR3
| style="width: 287px;" | rk808
|}
== ==
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
5b3ace075be8fc86eea3a00243b97d65f7dadfc8
1353
1352
2017-10-10T10:24:58Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 789px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== ==
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
b02f2b6c6346efad48c91bf3fb7cde49a3267bd1
1354
1353
2017-10-10T10:25:28Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== ==
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
2c4992e0ce96f0f57c0a34a945af6fb4c23614bb
1359
1354
2017-10-10T10:53:46Z
Jacob
6
wikitext
text/x-wiki
= =
= =
= Explanation =
DDR:
We use opensource idbloader(See [[Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, which will make the board failed to enter u-boot.
PMIC:
PMIC setting in u-boot don't have much matter. Just for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
50a8c206d3dd2778e9a965fcdc0241b0bbb73d78
1364
1359
2017-10-10T11:00:21Z
Jacob
6
wikitext
text/x-wiki
= Explanation =
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, which will make the board failed to enter u-boot.
PMIC:
PMIC setting in u-boot don't have much matter. Just for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
f8788aa7e041cf47bc248e3b4ac3e821cb5d6072
1365
1364
2017-10-10T11:01:11Z
Jacob
6
wikitext
text/x-wiki
= How to select board config =
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, which will make the board failed to enter u-boot.
PMIC:
PMIC setting in u-boot don't have much matter. Just for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
707fdc6b4ca1db483a8384371fd26a797e72ca59
1366
1365
2017-10-10T11:01:54Z
Jacob
6
wikitext
text/x-wiki
= How to select board config =
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting in u-boot don't have much matter. Just for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
5739198cc70f82c000cf6145f8fde1488745354d
1367
1366
2017-10-10T11:03:09Z
Jacob
6
wikitext
text/x-wiki
= How to select board config =
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
390b9ad17c093e1a4bbccc1c21c28a875d8a5c2b
1368
1367
2017-10-10T11:04:21Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
f5c1b997e26924b47c212ce4edc2f4acdc5ebc7f
FAQ
0
161
1369
2017-10-10T11:04:50Z
Jacob
6
Created page with " = How to select board config = DDR: We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github..."
wikitext
text/x-wiki
= How to select board config =
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
cb9694ed95b94ba51c4bceb9143755ddf799bcb3
1370
1369
2017-10-10T11:06:14Z
Jacob
6
wikitext
text/x-wiki
= How to select board config =
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= ''Last'' =
417d5ff2983c0d511603a86b845805773dfb6946
1371
1370
2017-10-10T11:07:28Z
Jacob
6
wikitext
text/x-wiki
= How to select board config =
== Build environment ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
7bdf4fe35977cca669af1ed69035755736e8b7cf
1372
1371
2017-10-10T11:07:51Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
05061afff53d7c70a9907cee3616a12b229eb398
1374
1372
2017-10-10T11:11:04Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
= Overall =
Yocto has a ''powerful'' customization architecture that allows people create their own custom Linux distribution for their projectes. Compare to the desktop linux distribution(debian), it's more flexible to develop system/applcation with yocto. For examples, when we want to cross-compile gstreamer-rockchip on debian, we need prepare [http://opensource.rock-chips.com/wiki_Cross_Compile debian docker] and write [https://github.com/rockchip-linux/gstreamer-rockchip/tree/master/debian debian rules], on yocto, it just need a [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip_20170811.bb single bitbake file].
Though it have lots of advantages, it's not recommend to use it to''' bring up new boards '''unless you are familier with rockchip stuff. Please follow the [[Linux_user_guide|Linux_user_guide]] and build/flash kernel/u-boot separately!
= Getting the Sources =
The rockchip linux SDK source tree is located in multi Git repository hosted by Github.<br/> The SDK uses repo to sync down source code.
Create an empty directory to hold your working files
<pre>mkdir rk-yocto-bsp
cd rk-yocto-bsp
</pre>
<br/> To initialize Yocto SDK source tree
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto
repo sync
</pre>
The above command will choose "''master''" branch of poky (rolling update).
If you want to use a [https://wiki.yoctoproject.org/wiki/Stable_branch_maintenance stable yocto branch], then use below comands.
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto -m pyro.xml
</pre>
= Building the Sources =
== Build environment ==
The essential and graphical support packages you need for a supported Ubuntu or Debian distribution are shown in the following command. see [http://www.yoctoproject.org/docs/2.2.1/mega-manual/mega-manual.html#required-packages-for-the-host-development-system here] for detail.
<pre>sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath socat cpio python python3 pip3 pexpect libsdl1.2-dev xterm make xsltproc docbook-utils fop dblatex xmlto python-git libssl-dev pv
</pre>
== Setup Yocto Environment ==
For example, if you want to build a x11 backend image for tinker board, you should use "MACHINE=tinker-rk3288 DISTRO=rk-x11".
<pre>mkdir <build_dir>
MACHINE=<MACHINE> DISTRO=<DISTRO> . ./setup-environment -b <build_dir>
</pre>
== Start Building ==
<pre>bitbake core-image-base
</pre>
Now you can find images under <build_dir>/tmp/deploy/images/<MACHINE>/.
= Flash Image =
'''[http://opensource.rock-chips.com/wiki_Partitions reference : partition map]'''
'''*gpt.img''' is as same as '''system.img''',''' '''which conatins the complete image.
Flash eMMC:
<pre>./flash_tool.sh -c rk3288 -p system -i <build_dir>/tmp/deploy/images/<MACHINE>/*gpt.img
</pre>
Burn SD-Card:
<pre>./flash_tool.sh -c rk3288 -d /dev/sdc -p system -i <build_dir>/tmp/deploy/images/<MACHINE>/*gpt.img
</pre>
To update kernel/dtb/extlinux, boot partition should be updated.
<pre>./flash_tool.sh -c rk3288 -p boot -i <build_dir>/tmp/deploy/images/<MACHINE>/*boot.img
</pre>
To update u-boot, it's kind of complex, please refer to [http://opensource.rock-chips.com/wiki_Boot_option Boot_option]. All necessary binarys can be found in the deploy directory and rkbin directory.
= Mainline/Upstream =
Meta-rockchip layer support mainline kernel and have patch it for GPU/VPU features.
To use mainline kernel, please change
PREFERRED_PROVIDER_virtual/kernel = "linux-rockchip"
in machine/include/*.conf to
PREFERRED_PROVIDER_virtual/kernel = "linux-mainline"
<del>Mainline U-boot/ARM-Trust-Firmware are also available, by including</del>
<del>include conf/machine/include/openloader.inc.inc</del>
<del>in machine/*.conf.</del>
= Demo Layer =
There are some layers for the spefic prototype under '''[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/demo meta-rockchip-extra/demo].'''
{| border="1"
|-
! Prototype
! Introduction
|-
| QT Player
| A play based on QT EGLFS plugin + QTMultimedia, make the video layer at the bottom.
|}
= Available =
== Images ==
{| border="1"
|-
! Chip
! Graphics
|-
| rk-image-base
| Rockchip base Image.
|-
| rk-image-multimedia
| Image with Rockchip's multimedia packages.
|-
| rk-image-machine-test
| Image with Test tools for developing, testing and benchmark.
|-
| qt5-image
| Image with qt packages.
|}
== [https://github.com/rockchip-linux/meta-rockchip/tree/master/conf/machine Boards] ==
[https://github.com/rockchip-linux/meta-rockchip/tree/master/conf/machine https://github.com/rockchip-linux/meta-rockchip/tree/master/conf/machine]
= Developer Guide =
== [[Qt|Qt in Yocto]] ==
== Apllication/kernel/u-boot ==
All build file and code source are in the ''tmp''/work/ or tmp/work-shared subdirectory of the Build Directory.
<pre>e.g : u-boot : tmp/work/excavator_rk3399-rk-linux/u-boot-rockchip/20170901-r0/git</pre>
Once you have update the code, you should issue command like "bitbake u-boot-rockchip -c compile -f && bitbake u-boot-rockchip" to force it recompile and deploy.
== Tips ==
*To make an image for suitable of development, you can add "tools-debug debug-tweaks dbg-pkgs" to EXTRA_IMAGE_FEATURES in local.conf to get tools like gdb and add " sshfs-fuse dhcp-client" to "IMAGE_INSTALL_append" to use sshfs for remote transfer. e.g. EXTRA_IMAGE_FEATURES = "tools-debug tools-profile tools-testapps dbg-pkgs debug-tweaks" IMAGE_INSTALL_append = “ sshfs-fuse dhcp-client”
*To use local source, you could change SRC_URI in bb file to "[git:///home/debian/kernel.git;protocol=file;nocheckout=1;branch=release-4.4 git:///home/debian/kernel.git;protocol=file;nocheckout=1;branch=release-4.4]"
f7dea608a3bb9ca2d9a6b7bbf33922da7b9bb5c9
1376
1374
2017-10-10T11:11:53Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually is just important in kernel, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
8438f705fdb4f9b1b1bfeda005131983ac40ce6c
1413
1376
2017-10-11T01:06:58Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually doesn't matter in u-boot, but for the board using rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
2fb12ae514efe6aaccde4eb58a4b78e37345443c
1414
1413
2017-10-11T01:07:15Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually doesn't matter in u-boot, but for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Please note some board have disable emmc in u-boot though the hardware actually have emmc. (firefly-rk3288)
0efe562ad8c47fc67eb7f685b59a8f46255c86ca
1415
1414
2017-10-11T01:08:18Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually doesn't matter in u-boot, but for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Some board have disable emmc in u-boot though the hardware actually have emmc, please note it. (firefly-rk3288)
6facb6302dbd94dca26cb737ad10a61021e3d07b
1416
1415
2017-10-11T01:10:02Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually doesn't matter in u-boot, but for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured during boot stage.
Boot:
Some board have disable emmc in u-boot though the hardware actually have emmc, please note it. (firefly-rk3288)
8eb01837d5af48316a29cd681a4a362305d266d2
Wireless
0
162
1443
2017-10-11T02:17:47Z
Jacob
6
Created page with " 如果 不需要 wifi 自动兼容方案,希望将 wifi 驱动 build in 到内核,可以按照如下说明进行。由<br/> 于目前 RK 平台较多,有的 android 7.1..."
wikitext
text/x-wiki
如果 不需要 wifi 自动兼容方案,希望将 wifi 驱动 build in 到内核,可以按照如下说明进行。由<br/> 于目前 RK 平台较多,有的 android 7.1 默认加入了自动兼容方案 ko 方式的配置,但是有的平台由<br/> 于内部服务器代码整合原因没有默认配置为 KO 方式,需要客户拿到源码后自行进行确认,确认<br/> 方法如下:<br/> 检查下载后的代码 defconfig, 如果默认配置如下既是 KO 方式:<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=n<br/> CONFIG_RTL8188EU=m<br/> 如果默认配置如下,既是 buil in 方式:<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y<br/> CONFIG_RTL8188EU=y<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP 宏是控制内核启动后 WIFI<br/> 驱动是否加载,Realtek 系列 wifi 驱动只能选择一款型号编译到内核,以 RK3328 平台为例,buid in<br/> 方式的 defconfig 如下配置,dts 也需要配置相应的 wifi 型号。详细配置如下:<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y
35c06056a203837b25224cccff6c348667f61153
1449
1443
2017-10-11T02:34:39Z
Jacob
6
Replaced content with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
EDP
0
163
1446
2017-10-11T02:31:21Z
Jacob
6
Created page with " === * How to Enable eDP Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_PHY_ROCKCHI..."
wikitext
text/x-wiki
=== * How to Enable eDP Module ===
----
'''1. Driver Compile'''<br/> Ensure below configures have been selected:
<pre><code>CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_PHY_ROCKCHIP_DP=y</code>
</pre>
Bellow drivers have been compiled:
<pre><code>drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
drivers/gpu/drm/bridge/analogix/</code>
</pre>
'''2. DTS Setting'''<br/> 2.1 Enable eDP Device Node:
*Include the SoC DTS 'rk3288.dtsi' file.
*Set the eDP device node state to 'okay'.
*Set the eDP-PHY device node state to 'okay'.
<pre><code>include "rk3288.dtsi"
&edp {
status = "okay";
};
&edp_phy {
status = "okay";
};</code>
</pre>
2.2 eDP device node parameters, there are two properties for eDP device:
<pre><code>force-hpd;
ports {
edp_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
edp_out_panel: endpoint {
reg = <0>;
remote-endpoint = <&panel_in_edp>;
};
};
};</code>
</pre>
*"force-hpd": forcing regard panel is connected for some panel without Hotplug pin.
*"ports": pointed to panel device node
----
=== * How To Debug eDP Module ===
'''3. Whether eDP display card has been registered successfully'''
If the eDP display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-eDP-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether eDP & eDP-PHY have been enabled in DTS files.
*Whether eDP panel have been registered successfully.
*Whether you have available VOP module for eDP.
*Check the kernel log for more detail (dmesg | grep dp)
'''4. Check eDP display card status: status, enabled, modes'''
<pre><code>$ cd /sys/class/drm/card0-eDP-1
$ cat status # should printed connected or disconnected
$ cat enabled # should printed enabled or disabled
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
'''5. If you still have no picture on eDP panel, please check bellow information:'''
*Check the eDP panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
----
=== * Reference eDP DTS Configure: ===
<pre><code>include "rk3288.dtsi"
edp_panel: edp-panel {
compatible ="lg,lp079qx1-sp0v", "simple-panel";
backlight = <&backlight>;
enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lcd_cs>;
ports {
panel_in: port {
panel_in_edp: endpoint {
remote-endpoint = <&edp_out_panel>;
};
};
};
};
&edp {
force-hpd;
status = "okay";
ports {
edp_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
edp_out_panel: endpoint {
reg = <0>;
remote-endpoint = <&panel_in_edp>;
};
};
};
};
&edp_phy {
status = "okay";
};</code></pre>
824d6067ba027430f7fa4929c4fd753df2247df6
MIPI-DSI
0
164
1447
2017-10-11T02:32:02Z
Jacob
6
Created page with " === * How to Enable MIPI Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_DW_MIPI_DSI=y</code> </pre> Be..."
wikitext
text/x-wiki
=== * How to Enable MIPI Module ===
----
'''1. Driver Compile'''<br/> Ensure below configures have been selected:
<pre><code>CONFIG_ROCKCHIP_DW_MIPI_DSI=y</code>
</pre>
Bellow drivers have been compiled:
<pre><code>drivers/gpu/drm/rockchip/dw-mipi-dsi.c</code>
</pre>
'''2. DTS Setting'''<br/> 2.1 Enable MIPI Device Node:
*Include the SoC DTS 'rk3288.dtsi' file.
*Set the MIPI device node state to 'okay'.
<pre><code>include "rk3288.dtsi"
&mipi_dsi {
status = "okay";
};</code>
</pre>
2.2 MIPI device node parameters, there're only one property for MIPI device:
<pre><code>&mipi_dsi {
panel {
compatible ="boe,tv080wum-nl0";
reg = <0>;
backlight = <&backlight>;
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};</code>
</pre>
*"panel": Define the right panel device node.
----
=== * How To Debug MIPI Module ===
'''3. Whether MIPI display card has been registered successfully'''
If the MIPI display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-DSI-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether MIPI have been enabled in DTS files.
*Whether MIPI panel have been registered successfully.
*Whether you have available VOP module for MIPI.
*Check the kernel log for more detail (dmesg | grep mipi)
'''4. Check MIPI display card status: status, enabled, modes'''
<pre><code>$ cd /sys/class/drm/card0-DSI-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
'''5. If you still have no picture on MIPI panel, please check bellow information:'''
*Check the MIPI panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
----
=== * Reference MIPI DTS Configure: ===
<pre><code>include "rk3288.dtsi"
&mipi_dsi {
status = "okay";
panel {
compatible ="boe,tv080wum-nl0";
reg = <0>;
backlight = <&backlight>;
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};</code></pre>
78c75b403a4d7f2ae450500574bbccc6c9da6990
LVDS
0
165
1448
2017-10-11T02:32:41Z
Jacob
6
Created page with " === * How to Enable LVDS Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_LVDS=y</code> </pre> Bellow dr..."
wikitext
text/x-wiki
=== * How to Enable LVDS Module ===
----
'''1. Driver Compile'''<br/> Ensure below configures have been selected:
<pre><code>CONFIG_ROCKCHIP_LVDS=y</code>
</pre>
Bellow drivers have been compiled:
<pre><code>drivers/gpu/drm/rockchip/rockchip_lvds.c</code>
</pre>
'''2. DTS Setting'''<br/> 2.1 Enable LVDS Device Node:
*Include the SoC DTS 'rk3288.dtsi' file.
*Set the LVDS device node state to 'okay'.
<pre><code>include "rk3288.dtsi"
&lvds {
status = "okay";
};</code>
</pre>
2.2 LVDS device node parameters, there're four properties for LVDS device:
*"rockchip,data-mapping": stand for the output data mapping, avaliable values "jeida" or "vesa".
*"rockchip,data-width": stand for the output data width, avaliable values "<24>" or "<18>". ("<24>" means RGB888, "<18>" means RGB666)
*"rockchip,ouput": stand for the output connector type, avaliable values "rgb", "lvds" or "duallvds".
*"rockchip,panel": pointed to panel device node (more panel detail, please see link: xxxx )
<pre><code>rockchip,data-mapping = "jeida";
rockchip,data-width = <24>;
rockchip,output = "lvds";
rockchip,panel = <&lvds_panel>;</code>
</pre>
----
=== * How To Debug LVDS Module ===
'''3. Whether LVDS display card has been registered successfully'''
If the LVDS display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-LVDS-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether LVDS have been enabled in DTS files.
*Whether LVDS panel have been registered successfully.
*Whether you have available VOP module for LVDS.
*Check the kernel log for more detail (dmesg | grep lvds)
'''4. Check LVDS display card status: status, enabled, modes'''
<pre><code>$ cd /sys/class/drm/card0-LVDS-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
'''5. If you still have no picture on LVDS panel, please check bellow information:'''
*Check the LVDS panel power supply.
*Check the panel datasheet, ensure you have configured the timing and data format rightly.
*Check the hardware connected status, or test the panel on workable board.
----
=== * Reference LVDS DTS Configure: ===
<pre><code>include "rk3288.dtsi"
lvds_panel: lvds_panel {
compatible ="auo,b101ew05","simple-panel";
backlight = <&backlight>;
enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lcd_cs>;
status = "okay";
ports {
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
&lvds {
rockchip,data-mapping = "jeida";
rockchip,data-width = <24>;
rockchip,output = "lvds";
status = "okay";
ports {
lvds_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
lvds_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_lvds>;
};
};
};
};</code></pre>
800342f0ed13b21da93578e63500788f00fec51f
EDP
0
163
1452
1446
2017-10-11T02:46:54Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt device-tree document]
= Tips =
== '''Whether eDP display card has been registered successfully''' ==
If the eDP display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-eDP-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether eDP & eDP-PHY have been enabled in DTS files.
*Whether eDP panel have been registered successfully.
*Whether you have available VOP module for eDP.
*Check the kernel log for more detail (dmesg | grep dp)
== '''Check eDP display card status: status, enabled, modes''' ==
<pre><code>$ cd /sys/class/drm/card0-eDP-1
$ cat status # should printed connected or disconnected
$ cat enabled # should printed enabled or disabled
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== '''If you still have no picture on eDP panel, please check bellow information:''' ==
*Check the eDP panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
=== ===
025949398b18482062621c3590a65c5b12211aed
1453
1452
2017-10-11T02:47:21Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt device-tree document]
= Tips =
== '''Whether eDP display card has been registered successfully''' ==
If the eDP display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-eDP-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether eDP & eDP-PHY have been enabled in DTS files.
*Whether eDP panel have been registered successfully.
*Whether you have available VOP module for eDP.
*Check the kernel log for more detail (dmesg | grep dp)
== '''Check eDP display card status: status, enabled, modes''' ==
<pre><code>$ cd /sys/class/drm/card0-eDP-1
$ cat status # should printed connected or disconnected
$ cat enabled # should printed enabled or disabled
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== '''If you still have no picture on eDP panel, please check bellow information:''' ==
*Check the eDP panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
f36c2bccc86b502c4c777a622930fd1a6a27f4c1
1466
1453
2017-10-11T07:37:02Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt device-tree document]
= Tips =
== '''Whether eDP display card has been registered successfully''' ==
If the eDP display card has been created, it would create a sysfs debug directory.
<pre>$ ls /sys/class/drm/card0-eDP-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether eDP & eDP-PHY have been enabled in DTS files.
*Whether eDP panel have been registered successfully.
*Whether you have available VOP module for eDP.
*Check the kernel log for more detail (dmesg | grep dp)
== '''Check eDP display card status: status, enabled, modes''' ==
<pre>$ cd /sys/class/drm/card0-eDP-1
$ cat status # should printed connected or disconnected
$ cat enabled # should printed enabled or disabled
$ cat modes # should printed the available mode list, like 1536x2048
</pre>
== '''If you still have no picture on eDP panel, please check bellow information:''' ==
*Check the eDP panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
52b0a13ade16ecf4f3dc455667221580dec63be2
MIPI-DSI
0
164
1454
1447
2017-10-11T02:48:25Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt device-tree document]
= Tips =
== Whether MIPI display card has been registered successfully ==
If the MIPI display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-DSI-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether MIPI have been enabled in DTS files.
*Whether MIPI panel have been registered successfully.
*Whether you have available VOP module for MIPI.
*Check the kernel log for more detail (dmesg | grep mipi)
== Check MIPI display card status: status, enabled, modes ==
<pre><code>$ cd /sys/class/drm/card0-DSI-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== If you still have no picture on MIPI panel, please check bellow information: ==
*Check the MIPI panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
=== ===
a5d93bf29c24541a7283df661fdebd112d7ad89a
1455
1454
2017-10-11T02:48:38Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt device-tree document]
= Tips =
== Whether MIPI display card has been registered successfully ==
If the MIPI display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-DSI-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether MIPI have been enabled in DTS files.
*Whether MIPI panel have been registered successfully.
*Whether you have available VOP module for MIPI.
*Check the kernel log for more detail (dmesg | grep mipi)
== Check MIPI display card status: status, enabled, modes ==
<pre><code>$ cd /sys/class/drm/card0-DSI-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== If you still have no picture on MIPI panel, please check bellow information: ==
*Check the MIPI panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
36aeb4fb5e6dd536e44d4b7218a2fc8f245b2e68
1467
1455
2017-10-11T07:37:30Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt device-tree document]
= Tips =
== Whether MIPI display card has been registered successfully ==
If the MIPI display card has been created, it would create a sysfs debug directory.
<pre>$ ls /sys/class/drm/card0-DSI-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether MIPI have been enabled in DTS files.
*Whether MIPI panel have been registered successfully.
*Whether you have available VOP module for MIPI.
*Check the kernel log for more detail (dmesg | grep mipi)
== Check MIPI display card status: status, enabled, modes ==
<pre>$ cd /sys/class/drm/card0-DSI-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048
</pre>
== If you still have no picture on MIPI panel, please check bellow information: ==
*Check the MIPI panel power supply.
*Check the panel datasheet, ensure you have configured the timing and power sequence rightly.
*Check the hardware connected status, or test the panel on workable board.
d9c364c836e3cbd2ecde9fd23970b94d8c6ce926
LVDS
0
165
1456
1448
2017-10-11T02:50:16Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/media/platform/rockchip-rga source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt device-tree document]
= Tips =
== Whether LVDS display card has been registered successfully ==
If the LVDS display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-LVDS-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether LVDS have been enabled in DTS files.
*Whether LVDS panel have been registered successfully.
*Whether you have available VOP module for LVDS.
*Check the kernel log for more detail (dmesg | grep lvds)
== Check LVDS display card status: status, enabled, modes ==
<pre><code>$ cd /sys/class/drm/card0-LVDS-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== If you still have no picture on LVDS panel, please check bellow information: ==
*Check the LVDS panel power supply.
*Check the panel datasheet, ensure you have configured the timing and data format rightly.
*Check the hardware connected status, or test the panel on workable board.
=== ===
18fbd5dc50d74671655dab7f4fd240d7ac0a71f1
1457
1456
2017-10-11T02:50:41Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/media/platform/rockchip-rga source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt device-tree document]
= Tips =
== Whether LVDS display card has been registered successfully ==
If the LVDS display card has been created, it would create a sysfs debug directory.
<pre><code>$ ls /sys/class/drm/card0-LVDS-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether LVDS have been enabled in DTS files.
*Whether LVDS panel have been registered successfully.
*Whether you have available VOP module for LVDS.
*Check the kernel log for more detail (dmesg | grep lvds)
== Check LVDS display card status: status, enabled, modes ==
<pre><code>$ cd /sys/class/drm/card0-LVDS-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== If you still have no picture on LVDS panel, please check bellow information: ==
*Check the LVDS panel power supply.
*Check the panel datasheet, ensure you have configured the timing and data format rightly.
*Check the hardware connected status, or test the panel on workable board.
aaea3052a32a84a0e9468b845ef9750821b3e26a
1468
1457
2017-10-11T07:37:47Z
Jacob
6
wikitext
text/x-wiki
= References =
[https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/media/platform/rockchip-rga source code]
[https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt device-tree document]
= Tips =
== Whether LVDS display card has been registered successfully ==
If the LVDS display card has been created, it would create a sysfs debug directory.
<pre>$ ls /sys/class/drm/card0-LVDS-1</code>
</pre>
So you just need to check that directory. If that directory is missing in your machine board, please check:
*Whether LVDS have been enabled in DTS files.
*Whether LVDS panel have been registered successfully.
*Whether you have available VOP module for LVDS.
*Check the kernel log for more detail (dmesg | grep lvds)
== Check LVDS display card status: status, enabled, modes ==
<pre>$ cd /sys/class/drm/card0-LVDS-1
$ cat status # should printed "connected" or "disconnected"
$ cat enabled # should printed "enabled" or "disabled"
$ cat modes # should printed the available mode list, like 1536x2048</code>
</pre>
== If you still have no picture on LVDS panel, please check bellow information: ==
*Check the LVDS panel power supply.
*Check the panel datasheet, ensure you have configured the timing and data format rightly.
*Check the hardware connected status, or test the panel on workable board.
6a8c314982c9c8f1b6eab869dfd1256647c20cc9
FAQ
0
161
1471
1416
2017-10-11T07:41:33Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually doesn't matter in u-boot, but for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured before enter u-boot.
Boot:
Some board have disable emmc in u-boot though the hardware actually have emmc, please note it. (firefly-rk3288)
e4f1ebf98c9dd7fa5c3ed8eb9a17af37a6e0014d
1472
1471
2017-10-11T07:42:40Z
Jacob
6
wikitext
text/x-wiki
== How to select board config ==
DDR:
We use opensource idbloader(See [[Boot_option|Boot_option]]) on some chips (rk3036, rk3288) and its [https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc driver] can't support ddr-type autodetct, so the wrong ddr dts settings will make the board failed to enter u-boot.
PMIC:
PMIC setting usually doesn't matter in u-boot, but for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current] should be configured before enter u-boot.
Boot:
Some board have disable emmc in u-boot for convenience, though the hardware actually have emmc, please note it. (firefly-rk3288)
c66d2934e12e39a7e476ad2c678156e953c5b894
Status Matrix
0
154
1473
1319
2017-10-11T11:29:45Z
Klaus
17
typo fix
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.4
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.4
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
<h2>Linux Funciton Status Matrix</h2>
<table class="wikitable" style="text-align: center; width: 100%;">
<tbody>
<tr>
<th colspan="2" style="width: 10%; text-align: left;">Model</th>
<th>Status</th>
</tr>
<tr>
<td rowspan="5" style="text-align: left;">Gstreamer</td>
<td style="text-align: left;">Display</td>
<td style="background: lightgreen;">kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)</td>
</tr>
<tr>
<td style="text-align: left;">Decode </td>
<td style="background: lightgreen;">h264, h265, vp8, vp9, jpeg</td>
</tr>
<tr>
<td style="text-align: left;">Encode</td>
<td style="background: lightgreen;">h264</td>
</tr>
<tr>
<td style="text-align: left;">Camera</td>
<td style="background: orange;">Without 3A</td>
</tr>
<tr>
<td style="text-align: left;">Transform</td>
<td style="background: orange;">WIP</td>
</tr>
<tr>
<td rowspan="2" style="text-align: left;">GPU</td>
<td style="text-align: left;">GLES</td>
<td style="background: lightgreen;">libmali</td>
</tr>
<tr>
<td style="text-align: left;">OPENCL</td>
<td style="background: lightgreen;">libmali</td>
</tr>
<tr>
<td colspan="2" rowspan="1" style="text-align: left;">QT</td>
<td style="background: lightgreen;">QT 5.x</td>
</tr>
<tr>
<td colspan="2" style="text-align: left;">
<p>Browser(HTML5 Accelerate)</p>
</td>
<td style="background: orange;">WIP</td>
</tr>
<tr>
<td colspan="2" style="text-align: left;">
<p>IOT(Third part Could Service)</p>
</td>
<td style="background: orange;">WIP</td>
</tr>
<tr>
<td colspan="2" style="text-align: left;">FFmpeg</td>
<td style="background: yellow;">Community</td>
</tr>
<tr>
<td colspan="2" style="text-align: left;">MPV</td>
<td style="background: yellow;">Community</td>
</tr>
<tr>
<td colspan="2" style="text-align: left;">KODI</td>
<td style="background: yellow;">Community</td>
</tr>
</tbody>
</table>
<p> </p>
<p> </p>
<p> </p>
08329f5a0f9ef67012d9c38a2a71e4e244ffc5e2
1495
1473
2017-10-16T00:41:30Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.4
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.4
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
| <tbody>
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|-
| </tbody>
|}
f8f34f07b902b3a52e1aeac03cd1e331d1b1b787
1496
1495
2017-10-16T00:43:29Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
| <tbody>
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|-
| </tbody>
|}
d55316795e833afe892433729596455363b8001f
1497
1496
2017-10-16T00:43:42Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.4
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.4
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.4
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
| <tbody>
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|-
| </tbody>
|}
629e9eea6347d7e3a3cdeffd1873bd1b3db01d61
1498
1497
2017-10-16T00:46:14Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
| <tbody>
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|-
| </tbody>
|}
d4df260df7405fa575467d0b93640d712174145f
1536
1498
2017-10-29T07:58:28Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
398ac0bc2d39e0b5e10de17fccd0149c2df1fe9e
Board Config
0
160
1474
1368
2017-10-12T01:59:15Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts
| style="width: 287px; text-align: center;" | mostly LPDDR3
| style="width: 287px; text-align: center;" | mostly act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
0524fab9d3c119f6d3ada108768b478e48471b57
Graphics
0
108
1475
885
2017-10-12T02:04:02Z
Jacob
6
wikitext
text/x-wiki
= Graphics Introduce =
This article will give an overview of how graphics are generated on a rockchip platform.
== Graphics with X11 ==
Xserver is the display system used on regular desktop Linux platforms.
Rockchip have a custom [[Xserver|Xserver]] which have enable [https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration].
Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system.
Gstreamer X11 sink have DRM 4k-Video render support(though hacky).
=== Structure ===
X11 structure in Linux OS
[[File:Xserver gpu.png|RTENOTITLE]]
=== DDX(armsoc) ===
source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support:
#support common x11 display and Hwcursor
#DRI2 (request by EGL X11 client)
#umplock(support non-tearing on EGL x11 client)
'''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info
<pre>Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection</pre>
=== UMPLOCK ===
source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node:
<pre>/dev/umplock</pre>
Don't forget enable DDX umplock option:
<pre>Option "UMP_LOCK" "true"</pre>
The umplock only use for x11 graphic stack, no need for wayland, because mali <br/> already do the wayland sync on its driver.
=== DDX(modesetting) ===
See [https://www.x.org/wiki/ModeSetting/ ModeSetting ]for detail introduce.
=== X11 performance test ===
2D performace:
<pre>x11perf</pre>
3D preformace:
<pre>glmark2-es2</pre>
X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland.
== Graphics with Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland.png|RTENOTITLE]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
== Graphics with None ==
If you don't want to use X11 or wayland, there are some chooses for you.
Interface:<br/> libdrm and libmali-gbm can be used to draw UI without display systems.
Framework:<br/> [[Qt|QT]] can work without x11 or wayland. Qt5 applications could be run on top of EGL(libmali-gbm).
== MALI GPU driver ==
=== Structure ===
[[File:Mali gpu.png|RTENOTITLE]]
== Mali Build option ==
Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend, <br/> Wayland use two gpu backend, drm(gbm) and wayland
<blockquote>
-x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like <br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf
</blockquote>
== LibDRM ==
=== Structure ===
[[File:DRM.png|RTENOTITLE]]
=== Source code ===
mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/].
= Kernel Driver porting =
= Others =
For details of the full Linux graphics stack, please refer to online documents in [https://www.freedesktop.org/wiki/ Freedesktop], [http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM], [https://wiki.archlinux.org/index.php/xorg Arch wiki]…..
*[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/]
*[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol])
*[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/]
d075131557e0d01d61d95d74bcd9bc983b6bf86f
Boot Time
0
166
1489
2017-10-14T07:47:00Z
Jacob
6
Created page with " = Overall = Our softwares are designed to be customizable and be workable for all rockchip chips , so it might take ''little long time'' to boot in..."
wikitext
text/x-wiki
= Overall =
Our softwares are designed to be customizable and be workable for all rockchip chips , so it might take ''little long time'' to boot in some chips.
In the below, we will list some ways to reduce boot time.
= Tips =
== Increase CPU Speed ==
It's obvious that with higher CPU speed, the less time it take to boot.
By default, the CPU is not at full speed at boot time, because it need high voltage and have risk to overheat(No thermal control in u-boot).
To support full CPU speed in u-boot/u-boot spl, please refer to this [https://lists.denx.de/pipermail/u-boot/2016-January/241230.html patch].
== Reduce Kernel Size ==
Kernel image generated by rockchip_linux_defconfig might contain a lot of unnecessary drivers.
The big kernel image will have a bad impact to boot time, especially when it's in low CPU speed.
You could drop them by editing rockchip_linux_defconfig.
== Bootdelay ==
See https://www.denx.de/wiki/DULG/UBootEnvVariables.
7fadcbfe97f13efcc21057ce2658d4130ace0a5c
Boot Logo
0
167
1490
2017-10-14T08:09:19Z
Jacob
6
Created page with "<article> = Overall = In android, there is a logo displayed after enter u-boot and last until the desktop start. Unfortunately, we don't implement it fo..."
wikitext
text/x-wiki
<article>
= Overall =
In android, there is a logo displayed after enter u-boot and last until the desktop start.
Unfortunately, we don't implement it for linux。
= U-boot =
First, you need enable video driver in u-boot and make it show console in screen.
'''WIP'''
= Kernel =
Please search '''CONFIG_LOGO'''.
Set logos_freed to false
http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32
== System ==
Please search '''plymouth'''.
</article>
0b22b462de60cedaffe55a8b15893d98637e8286
1491
1490
2017-10-14T08:09:57Z
Jacob
6
wikitext
text/x-wiki
= Overall =
In android, there is a logo displayed after enter u-boot and last until the desktop start.
Unfortunately, we don't implement it for linux。
= U-boot =
First, you need enable video driver in u-boot and make it show console in screen.
'''WIP'''
= Kernel =
Please search '''CONFIG_LOGO'''.
Set logos_freed to false
[http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32]
== System ==
Please search '''plymouth'''.
54843669ab1f4bc78911ef6363616d9fea3b7fdc
1492
1491
2017-10-14T09:28:43Z
Jacob
6
wikitext
text/x-wiki
= Overall =
In android, there is a logo displayed after enter u-boot and last until the desktop start.
Unfortunately, we don't implement it for linux。
= U-boot =
First, you need enable video driver in u-boot and make it show console in screen.
'''WIP'''
= Kernel =
Please search '''CONFIG_LOGO'''.
Set logos_freed to false
[http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32]
= Log =
Console log could be disabled by remove in kernel cmdline.
<pre>console=tty1</pre>
== ==
== System ==
Please search '''plymouth'''.
edb5744bdd8b74c934073d17421a2eb919e4a60b
1493
1492
2017-10-14T09:29:01Z
Jacob
6
wikitext
text/x-wiki
= Overall =
In android, there is a logo displayed after enter u-boot and last until the desktop start.
Unfortunately, we don't implement it for linux。
= U-boot =
First, you need enable video driver in u-boot and make it show console in screen.
'''WIP'''
= Kernel =
Please search '''CONFIG_LOGO'''.
Set logos_freed to false
[http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32]
= Log =
Console log could be disabled by remove in kernel cmdline.
<pre>console=tty1</pre>
== System ==
Please search '''plymouth'''.
74aafa96aecf1d86b7f7b650d9781d56b5528ec2
1494
1493
2017-10-14T09:29:38Z
Jacob
6
wikitext
text/x-wiki
= Overall =
In android, there is a logo displayed after enter u-boot and last until the android start.
Unfortunately, we don't implement it for linux。
= U-boot =
First, you need enable video driver in u-boot and make it show console in screen.
'''WIP'''
= Kernel =
Please search '''CONFIG_LOGO'''.
Set logos_freed to false
[http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32]
= Log =
Console log could be disabled by remove in kernel cmdline.
<pre>console=tty1</pre>
== System ==
Please search '''plymouth'''.
f0a06dcea970fb8db98fba31132e1065854c9859
1505
1494
2017-10-24T02:49:57Z
Jacob
6
wikitext
text/x-wiki
= Overall =
In android, there is a logo displayed after enter u-boot and last until the android start.
Unfortunately, we don't implement it for linux。
= U-boot =
First, you need enable video driver in u-boot and make it show console in screen.
'''WIP'''
= Kernel =
Please search '''CONFIG_LOGO'''.
Set logos_freed to false
[http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32]
= Log =
Console log could be disabled by remove in kernel cmdline.
<pre>console=tty1</pre>
= System =
Please search '''plymouth'''.
= Initramfs =
[[Initramfs]] also have logo display support.
8abf801828602c03a305af919bc7f4f0fa4e71e9
Initramfs
0
168
1500
2017-10-23T02:17:49Z
Jacob
6
Created page with " A initramfs is a ramdisk which will mount the root filesystem. From it, we can support some fucntions, like battery monitor, firmware update, multi-os boot. We have..."
wikitext
text/x-wiki
A initramfs is a ramdisk which will mount the root filesystem. From it, we can support some fucntions, like battery monitor, firmware update, multi-os boot.
We have provide a yocto layer that will help you build initramfs image.
For more infos, please refer to readme in [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-initramfs].
face18ce728503c82599487f7b4ec257e23af59f
1501
1500
2017-10-23T02:18:57Z
Jacob
6
wikitext
text/x-wiki
A initramfs is a ramdisk which will mount the root filesystem. From it, we can support some fucntions, like battery monitor, firmware update, multi-os boot.
We have provide a yocto layer that will help you build initramfs image.
For more infos, please refer to readme in [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
41303aef3c554b93beafeb66459f2913c1228a97
Firmware Upgrade
0
169
1513
2017-10-25T05:51:54Z
Jacob
6
Created page with " = Overall = This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform. = MASKROM = MASKROM is the s..."
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*normal
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
69c62aa59a5d4f696f00cb7dc700fcf0bae94bad
1514
1513
2017-10-25T06:07:55Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs =
See [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
9d523fbfb7fb70306e5e57d41ff5e50539d58fd8
1515
1514
2017-10-25T06:12:04Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Our SDK build scripts have support pack deb for kernel/u-boot and both yocto and debian coudl deb as the package manager,
So firmware upgrade could be done by deb installation.
Advantages:
*standard
*friendly to the users
Disadvantages:
* could brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs =
See [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
f12a89d7ba3fa80e53b17b780a61761d4881a0ed
1516
1515
2017-10-25T06:13:10Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Our SDK build scripts have support pack deb for kernel/u-boot and both yocto and debian coudl deb as the package manager,
So firmware upgrade could be done by deb installation.
Advantages:
*standard
*friendly to the users
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs =
See [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
3740eab0cacdde26723182550178bc8a9a7286e8
1517
1516
2017-10-25T06:23:12Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Our SDK build scripts support pack kernel/u-boot in deb and both yocto and debian use deb as the package manager,
so firmware upgrade could be done by deb installation.
Advantages:
*standard
*friendly to the users
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs =
See [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
5d1326190e9ed5dd95e649089210daf4650ed66a
1518
1517
2017-10-25T07:11:28Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Our SDK build scripts support pack kernel/u-boot in deb and both yocto and debian use deb as the package manager,
so firmware upgrade could be done by deb installation.
Advantages:
*standard
*friendly to the users
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
95d365d53d044f7fece0528e98f96f4eac581639
1519
1518
2017-10-25T07:38:36Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
(SDK build scripts can pack kernel/u-boot in deb)
Advantages:
*standard
*friendly to the users
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
fc65f6412fb64356bea8e9b9551d861dacbe76fa
1520
1519
2017-10-25T07:38:53Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 code].
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*friendly to the users
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
bb691ab56204f4e5d1b3d225454196d4044ef9b8
1521
1520
2017-10-25T07:40:46Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*friendly to the users
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
30ce11ac6929e2a3defb37cc9abdba7bab2e90ed
1522
1521
2017-10-25T07:41:21Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb] which will burn firmware to eMMC.
A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs].
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
73b524c56e0670c83c3c615634497ac0ef730b73
1523
1522
2017-10-25T07:41:58Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image.
When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot deb], which will burn firmware to eMMC.
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
703bb81d373b657217dc366ca808c1978fe7f71e
1524
1523
2017-10-25T07:43:37Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way on rockchip platform.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
466a2115282404ec57eaff6e26e31f916a0e2bb2
1525
1524
2017-10-25T07:45:08Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
*Easy to customize, like a normal linux
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
c111b4b1356a5a4ab8c441e5c1d5384ba74ce8d9
1526
1525
2017-10-25T07:48:28Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
*Easy to customize
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize, like a normal linux
*Powerful
Disadvantages:
*Slow
04c3f3b7ae4f554393f5d72a9d269d1d6f3878f8
1527
1526
2017-10-25T07:48:43Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
*Easy to customize
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Easy to customize
*Powerful
Disadvantages:
*Slow
be696907b6a151f31e55fd0b3cc402d1fb4d1327
1528
1527
2017-10-25T07:49:00Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
*Easy to customize
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
2a1e032f6edf3ab504a77cbdd4e058f54e58d5c8
1529
1528
2017-10-25T07:49:14Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
5bf7470c8c16c6bd12c6e90082b10e056804d91f
1530
1529
2017-10-25T07:49:36Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
10c829833e22d1a686e85340468f7ca751394a8d
1531
1530
2017-10-25T07:50:07Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
6b7aca5257903c3154cd46e5806015b8dac53983
1537
1531
2017-10-31T00:37:18Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*users-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
d8da9dc8a2412227e00da68089c8715c2ba99d26
1538
1537
2017-10-31T00:37:56Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
09c478de308b4f9f63a97f9f7204e7d737cebc67
1539
1538
2017-10-31T00:38:31Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
edf2be6ea36e0364ef93e16bf4f977ae08bd18e5
Partitions
0
50
1540
972
2017-10-31T08:49:13Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default storage map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! PartNum in GPT
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 7104
| 00001bc0
| 4096000
| 2.5MB
| 1
| preloader like miniloader or U-Boot SPL
|-
| Vendor Storage
| 7168
| 00001c00
| 512
| 00000200
| 262144
| 256KB
|
| SN, MAC and etc.
|-
| Reserved Space
| 7680
| 00001e00
| 384
| 00000180
| 196608
| 192KB
|
| Not used
|-
| reserved1
| 8064
| 00001f80
| 128
| 00000080
| 65536
| 64KB
| 2
| legacy DRM key
|-
| U-Boot ENV
| 8128
| 00001fc0
| 64
| 00000040
| 32768
| 32KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
| 3
| legacy parameter
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
| 4
| U-Boot or UEFI
|-
| trust
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
| 5
| trusted-os like ATF, OP-TEE
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
| 6
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
| 7
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= Write GPT partition table through rkdeveloptool =
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
where the sample parameter_gpt.txt including partition information:
<pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs)
</pre>
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
3987d699983106342ea92148f2dcb22b25c94a5a
1541
1540
2017-10-31T08:51:01Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default storage map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! PartNum in GPT
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| loader1
| 64
| 00000040
| 7104
| 00001bc0
| 4096000
| 2.5MB
| 1
| preloader like miniloader or U-Boot SPL
|-
| Vendor Storage
| 7168
| 00001c00
| 512
| 00000200
| 262144
| 256KB
|
| SN, MAC and etc.
|-
| Reserved Space
| 7680
| 00001e00
| 384
| 00000180
| 196608
| 192KB
|
| Not used
|-
| reserved1
| 8064
| 00001f80
| 128
| 00000080
| 65536
| 64KB
|
| legacy DRM key
|-
| U-Boot ENV
| 8128
| 00001fc0
| 64
| 00000040
| 32768
| 32KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| legacy parameter
|-
| loader2
| 16384
| 00004000
| 8192
| 00002000
| 4194304
| 4MB
| 2
| U-Boot or UEFI
|-
| trust
| 24576
| 00006000
| 8192
| 00002000
| 4194304
| 4MB
| 3
| trusted-os like ATF, OP-TEE
|-
| boot(bootable must be set)
| 32768
| 00008000
| 229376
| 00038000
| 117440512
| 112MB
| 4
| kernela, kernelb, dts, extlinux.conf, ramdisk
|-
| rootfs
| 262144
| 00040000
| -
| -
| -
| -MB
| 5
| Linux system
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
= Write GPT partition table through rkdeveloptool =
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
where the sample parameter_gpt.txt including partition information:
<pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs)
</pre>
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
2e19452e58568d082f9a41b77552081cc5bf0315
1542
1541
2017-10-31T08:59:34Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default storage map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! PartNum in GPT
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| '''loader1'''
| '''64'''
| '''00000040'''
| '''7104'''
| '''00001bc0'''
| '''4096000'''
| '''2.5MB'''
| '''1'''
| '''preloader (miniloader or U-Boot SPL)'''
|-
| Vendor Storage
| 7168
| 00001c00
| 512
| 00000200
| 262144
| 256KB
|
| SN, MAC and etc.
|-
| Reserved Space
| 7680
| 00001e00
| 384
| 00000180
| 196608
| 192KB
|
| Not used
|-
| reserved1
| 8064
| 00001f80
| 128
| 00000080
| 65536
| 64KB
|
| legacy DRM key
|-
| U-Boot ENV
| 8128
| 00001fc0
| 64
| 00000040
| 32768
| 32KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| legacy parameter
|-
| '''loader2'''
| '''16384'''
| '''00004000'''
| '''8192'''
| '''00002000'''
| '''4194304'''
| '''4MB'''
| '''2'''
| '''U-Boot or UEFI'''
|-
| '''trust'''
| '''24576'''
| '''00006000'''
| '''8192'''
| '''00002000'''
| '''4194304'''
| '''4MB'''
| '''3'''
| '''trusted-os like ATF, OP-TEE'''
|-
| '''boot(bootable must be set)'''
| '''32768'''
| '''00008000'''
| '''229376'''
| '''00038000'''
| '''117440512'''
| '''112MB'''
| '''4'''
| '''kernel, dtb, extlinux.conf, ramdisk'''
|-
| '''rootfs'''
| '''262144'''
| '''00040000'''
| '''-'''
| '''-'''
| '''-'''
| '''-MB'''
| '''5'''
| '''Linux system'''
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
Note 1: If preloader is miniloader, loader2 partition available for uboot.img and trust partition available for trust.img; if preloader is SPL without trust support, loader2 partition is available for u-boot.bin and trust partition not available; If preloader is SPL with trust support(ATF or OPTEE), loader2 is available for u-boot.itb(including u-boot.bin and trust binary) and trust partition not available.
= Write GPT partition table through rkdeveloptool =
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
where the sample parameter_gpt.txt including partition information:
<pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs)
</pre>
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
4dacd27405c3b32b0f75b1b140054f9e0f3965bb
1543
1542
2017-10-31T09:00:25Z
Kever
2
wikitext
text/x-wiki
= Introduction =
Rockchip use [https://en.wikipedia.org/wiki/GUID_Partition_Table GPT] as its main partition table in open source support. We store GPT at LBA0 ~ LBA63.
= GPT partition table in U-boot =
U-boot supports standard [https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format].
= Default storage map =
{| border="1" class="table_style"
|-
! Partition
! colspan="2" | Start Sector
! colspan="2" | Number of Sectors
! colspan="2" | Partition Size
! PartNum in GPT
! Requirements
|-
| MBR
| 0
| 00000000
| 1
| 00000001
| 512
| 0.5KB
|
|
|-
| Primary GPT
| 1
| 00000001
| 63
| 0000003F
| 32256
| 31.5KB
|
|
|-
| '''loader1'''
| '''64'''
| '''00000040'''
| '''7104'''
| '''00001bc0'''
| '''4096000'''
| '''2.5MB'''
| '''1'''
| '''preloader (miniloader or U-Boot SPL)'''
|-
| Vendor Storage
| 7168
| 00001c00
| 512
| 00000200
| 262144
| 256KB
|
| SN, MAC and etc.
|-
| Reserved Space
| 7680
| 00001e00
| 384
| 00000180
| 196608
| 192KB
|
| Not used
|-
| reserved1
| 8064
| 00001f80
| 128
| 00000080
| 65536
| 64KB
|
| legacy DRM key
|-
| U-Boot ENV
| 8128
| 00001fc0
| 64
| 00000040
| 32768
| 32KB
|
|
|-
| reserved2
| 8192
| 00002000
| 8192
| 00002000
| 4194304
| 4MB
|
| legacy parameter
|-
| '''loader2'''
| '''16384'''
| '''00004000'''
| '''8192'''
| '''00002000'''
| '''4194304'''
| '''4MB'''
| '''2'''
| '''U-Boot or UEFI'''
|-
| '''trust'''
| '''24576'''
| '''00006000'''
| '''8192'''
| '''00002000'''
| '''4194304'''
| '''4MB'''
| '''3'''
| '''trusted-os like ATF, OP-TEE'''
|-
| '''boot(bootable must be set)'''
| '''32768'''
| '''00008000'''
| '''229376'''
| '''00038000'''
| '''117440512'''
| '''112MB'''
| '''4'''
| '''kernel, dtb, extlinux.conf, ramdisk'''
|-
| '''rootfs'''
| '''262144'''
| '''00040000'''
| '''-'''
| '''-'''
| '''-'''
| '''-MB'''
| '''5'''
| '''Linux system'''
|-
| Secondary GPT
| 16777183
| 00FFFFDF
| 33
| 00000021
| 16896
| 16.5KB
|
|
|}
Note 1: If preloader is miniloader, loader2 partition available for uboot.img and trust partition available for trust.img; if preloader is SPL without trust support, loader2 partition is available for u-boot.bin and trust partition not available; If preloader is SPL with trust support(ATF or OPTEE), loader2 is available for u-boot.itb(including u-boot.bin and trust binary) and trust partition not available.
= Write GPT partition table through rkdeveloptool =
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
where the sample parameter_gpt.txt including partition information:
<pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs)
</pre>
= Write GPT partition table through U-boot =
In u-boot console, the "gpt" command can be used to write the gpt partition table:
<pre>gpt - GUID Partition Table
Usage:
gpt <command> <interface> <dev> <partitions_list>
- GUID partition table restoration and validity check
Restore or verify GPT information on a device connected
to interface
Example usage:
gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</code>
</pre>
for exsample:
<pre>=> env set partitions name=rootfs,size=-,type=system
=> gpt write mmc 0 $partitions
Writing GPT: success!
</pre>
<br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample:
<pre>include/configs/kylin_rk3036.h
#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
...
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"partitions=" PARTS_DEFAULT \
</pre>
= Write GPT partition table through U-Boot's fastboot =
The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table:
== fastboot oem format ==
It's the same as "gpt write mmc 0 $partitions" in u-boot console:
<pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
if (strncmp("format", cmd + 4, 6) == 0) {
char cmdbuf[32];
sprintf(cmdbuf, "gpt write mmc %x $partitions",
CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (run_command(cmdbuf, 0))
fastboot_tx_write_str("FAIL");
else
fastboot_tx_write_str("OKAY");
} else
#endif
</pre>
PC command:
<pre>$ fastboot oem format -i 0x2207
...
OKAY [ 0.015s]
finished. total time: 0.015s
</pre>
== fastboot flash gpt <gpt partition image> ==
<pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
printf("%s: updating MBR, Primary and Backup GPT(s)\n",
__func__);
if (is_valid_gpt_buf(dev_desc, download_buffer)) {
printf("%s: invalid GPT - refusing to write to flash\n",
__func__);
fastboot_fail(response_str, "invalid GPT partition");
return;
}
if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) {
printf("%s: writing GPT partitions failed\n", __func__);
fastboot_fail(response_str,
"writing GPT partitions failed");
return;
}
printf("........ success\n");
fastboot_okay(response_str, "");
return;
</pre>
The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample:
<pre>$ dd if=/dev/zero of=disk.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s
$ gdisk disk.img
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-524254, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT).
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
$ dd if=disk.img of=gpt.img count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s
</pre>
PC command:
<pre>$ fastboot flash gpt gpt.img
target reported max download size of 117440512 bytes
sending 'gpt' (32 KB)...
OKAY [ 0.006s]
writing 'gpt'...
OKAY [ 0.025s]
finished. total time: 0.030s</pre>
8f951c86bc7dc50a8ff3af84c0532e08e5f38b9c
Boot option
0
116
1544
1252
2017-11-01T02:58:45Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rksoc boot storage.jpg|1000px|RTENOTITLE]]
[[File:Rksoc boot flow.jpg|1000px|RTENOTITLE]]
(Thanks to Fu Wei from RedHat who is the author of these two flow diagram.)
Note 1. The concept of BL1/BL2/BL3 are from ARMv8 only.
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
d2a5906865885d0b3526ca59eb2f020672e42a50
1546
1544
2017-11-02T06:57:57Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|100x100px]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
3f06fade3b20d4aee2803fbae6628b65a671e4d4
1547
1546
2017-11-02T07:00:00Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
0ecabc975f12b78daf910695d0482f71e99534fa
1548
1547
2017-11-02T07:35:49Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== bl3.itb ===
When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>tools/mkimage -f fit4spl.its -E bl3.itb
</pre>
Flash the bl3.itb to offset 0x200, while need idbspl.img flasht to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
bd65cb990fd344931629c227b57b578bfc9227dc
1552
1548
2017-11-20T01:42:47Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel Image/zImage file, kernel dtb,
**From ATF: bl31.bin;
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== u-boot.itb ===
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the bl3.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
30bee17bff4d4bfe0fb8b274e4baa74f2387a0bc
1553
1552
2017-11-20T01:44:19Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
Here are the types to package image from those files:
=== idbspl.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== idbloader.img ===
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== u-boot.itb ===
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the bl3.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
=== uboot.img ===
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== trust.img ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
47c0bb2ad302d9beaffd4473c3a6fe6254247982
1554
1553
2017-11-20T03:38:05Z
Ayaka
16
Split the first bootloader method into two sections
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== Using U-Boot SPL as the first bootloader ===
==== idbspl.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the bl3.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
=== Using Miniloader as the first bootloader ===
==== idbloader.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device.
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
f187d99a53ec14622691b18d53b3e6b30ca038ac
File:Rockchip bootflow.jpg
6
170
1545
2017-11-02T06:55:10Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
U-Boot
0
11
1551
949
2017-11-20T01:40:13Z
Kever
2
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [[Fastboot|fastboot]]
== ums ==
== rockusb ==
07dd1a7985cbec55f207150323f2b987442c47ac
Camera
0
74
1555
1061
2017-11-22T10:53:02Z
Jacob
6
wikitext
text/x-wiki
= Rockchip ISP1 =
rockchip-isp1 is a v4l2 driver writen with media controller api, it will be used for rockchip rk3288/rk3399 SoC on all linux-kernel based OS, including Android, GNU/Linux, ChromeOS.
To get more info, please see [https://www.gitbook.com/book/rockchip-linux/rockchip-isp/welcome gitbook].
3f8a11d3e139372a93691e4c2f8075304ccd83f3
1556
1555
2017-11-22T10:53:43Z
Jacob
6
wikitext
text/x-wiki
= Rockchip ISP1 =
rockchip-isp1 is a isp driver writen with media controller api, it will be used for rockchip rk3288/rk3399 SoC on all linux-kernel based OS, including Android, GNU/Linux, ChromeOS.
To get more info, please see [https://www.gitbook.com/book/rockchip-linux/rockchip-isp/welcome gitbook].
1bcc9c6ea15a93fbe5eafb6fe715b562b5da9377
1557
1556
2017-11-22T11:16:18Z
Jacob
6
wikitext
text/x-wiki
= [https://www.gitbook.com/book/rockchip-linux/rockchip-isp/welcome Rockchip ISP1] =
6cc2ecaf68dd98537039edef65fa524f42f23886
1558
1557
2017-11-23T06:26:55Z
Jacob
6
wikitext
text/x-wiki
= =
77e27efff7e8db4b7ddf1ca832fda0aae19afcd5
1560
1558
2017-11-27T08:30:11Z
Jacob
6
wikitext
text/x-wiki
{| border="1" style="width: 492px;"
|-
! rowspan="2" style="width: 49px;" |
! rowspan="2" style="width: 116px;" | rk3288
! rowspan="2" | rk3399
! rowspan="2" style="width: 138px;" | rk3328
|-
|-
| style="width: 49px; text-align: center;" | ISP
| style="width: 116px; text-align: center;" | rockchip-isp1
| style="text-align: center;" | rk-isp10
| style="width: 138px; text-align: center;" | N/A
|-
| style="width: 49px; text-align: center;" | CIF
| style="width: 116px; text-align: center;" | NO
| style="text-align: center;" | NO
| style="width: 138px; text-align: center;" | NO
|}
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
b75264e6e0e230cb261179a328ce66f1852e7e5c
1561
1560
2017-11-27T08:32:39Z
Jacob
6
wikitext
text/x-wiki
{| border="1" cellpadding="1" cellspacing="1" style="width: 589px;"
|-
|
| style="text-align: center;" | rk3288
| style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= =
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
8c8324845a8f50ee5b1f0b5fad6725b11f64db39
1562
1561
2017-11-27T08:33:03Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" cellpadding="1" cellspacing="1" style="width: 589px;"
|-
|
| style="text-align: center;" | rk3288
| style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
84d6cb16db104b728137c71b3defee6223786e2a
1563
1562
2017-11-27T08:33:47Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
|
| style="text-align: center;" | rk3288
| style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
b2af8ee9993c3346b1999fa43c95eac8200b3c6a
1564
1563
2017-11-27T08:34:25Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
bce869a1e50a7bdf1e1eb7f0c961667366adbf23
1565
1564
2017-11-27T08:34:41Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
ac9f66dfef16c9ff99d932e62b88b90c7f36ead3
1566
1565
2017-11-27T08:35:02Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= =
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
873c8515dfa302d986c7bb0507411404f1508f15
1567
1566
2017-11-27T08:35:22Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= rockchip-isp1 =
Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook].
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
fec533821f87bb648798004a97732293cc385b17
1573
1567
2017-11-30T05:56:31Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= [[rockchip-isp1]] =
= rk-isp10 =
Source Code: driver/media/platform/rk-isp10
= v4l2-cif =
737e6aca447f259a606ad707083e134c28d6d927
Status Matrix
0
154
1569
1536
2017-11-27T08:39:09Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
712c1e419cec05a3b0ab174e0ace4aec57e8e8c2
1570
1569
2017-11-27T08:40:08Z
Jacob
6
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
80e1b95cb89f5517e840f90d873aaf5a9a2a53a6
Rockchip-isp1
0
171
1574
2017-11-30T05:57:06Z
Jacob
6
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
1575
1574
2017-11-30T06:30:08Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's
kind of different with plain v4L2.
The document below provide basical informations about the rockchip-isp1 driver and Image Signal Processing block on Rockchip SoC with examples and details.
5ddd8d91128364cbe697cf9a15bdb6915ce1280b
1576
1575
2017-11-30T06:41:17Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's
kind of different with plain v4L2.
The document below provide basical informations about the rockchip-isp1 driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP need NDA
== MIPI Details ==
2d97920769d363f71a5c2f7177602ae5e3ea5955
1577
1576
2017-11-30T06:48:28Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's
kind of different with plain v4L2.
The document below provide basical informations about the rockchip-isp1 driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Driver =
= Software =
== Android ==
=== Camera Hal3 ===
TO BE DONE
== Linux ==
=== Gstreamer ===
=== User applications ===
= Usage Example =
5a9edb9cc99f53e2cad1c8ffcda1a4ce24463094
1578
1577
2017-11-30T06:49:02Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's
kind of different with plain v4L2.
The document below provide basical informations about the rockchip-isp1 driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Driver =
= Software =
== Linux ==
=== Gstreamer ===
=== User applications ===
== Android ==
=== Camera Hal3 ===
https://source.android.com/devices/camera/camera3?hl=zh-cn
= Usage Example =
a034df08a2fa1a94d873c06c2ebee01dd887114e
1579
1578
2017-11-30T06:50:57Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Driver =
= Software =
== Linux ==
=== Gstreamer ===
=== User applications ===
== Android ==
=== Camera Hal3 ===
https://source.android.com/devices/camera/camera3?hl=zh-cn
= Usage Example =
821a2bdcdddad54e8c685864ed111a7ef5cea5b2
1580
1579
2017-11-30T07:03:42Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's
different from plain v4L2.
=== Media Controller Basics ===
Please read below link carefully, especially you don't have use it before.
https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html
== Linux ==
=== Gstreamer ===
=== User applications ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Usage Example =
9edd88d138317fde7183fcdcacfc389969e4e340
1581
1580
2017-11-30T07:44:28Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Topology ===
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
== Linux ==
=== User applications ===
=== The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands: ===
=== <br/> Gstreamer ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Usage Example =
bf2cf6719709545b811491a5a18e3c7950be5647
1582
1581
2017-11-30T07:45:39Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands:
=== <br/> Gstreamer ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Usage Example =
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
1a2236e4387b0d588ee85c13157b4ea019235599
1583
1582
2017-11-30T08:16:20Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under ''NDA, so we can't paste the completed block diagram from ''datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":0[fmt:YUYV2X8/800*600]'
media-ctl -d /dev/media0 --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm ====
TO BE DONE
=== <br/> Gstreamer ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Usage Example =
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
3df03cd60e7b5984383efc7058c53b843f6f9430
1584
1583
2017-11-30T08:22:44Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":0[fmt:YUYV2X8/800*600]'
media-ctl -d /dev/media0 --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm ====
TO BE DONE
=== <br/> Gstreamer ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel: ===
==== Mainline: ====
4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
Rockchip BSP:
https://github.com/rockchip-linux/kernel/tree/isp-early-access
=== Sensor Driver: ===
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
4e1b1d48242552844f47709722a6e693856520ce
1585
1584
2017-11-30T08:23:43Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:YUYV2X8/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm ====
TO BE DONE
=== <br/> Gstreamer ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel: ===
==== Mainline: ====
4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
Rockchip BSP:
https://github.com/rockchip-linux/kernel/tree/isp-early-access
=== Sensor Driver: ===
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
5e562708a4f1d2dd7c5493ff6cc1df72ada49fbe
1586
1585
2017-11-30T08:24:07Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm ====
TO BE DONE
=== <br/> Gstreamer ===
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel: ===
==== Mainline: ====
4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
Rockchip BSP:
https://github.com/rockchip-linux/kernel/tree/isp-early-access
=== Sensor Driver: ===
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
cc89311e69440f1993c9a98a7c725a73f727493a
1587
1586
2017-11-30T08:37:54Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
Multi sensors(TO BE DONE)
Multi paths (TO BE DONE)
===== Record Preview, Still Capture in different resolution at a time =====
=== <br/> Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel: ===
==== Mainline: ====
4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
Rockchip BSP:
[https://github.com/rockchip-linux/kernel/tree/isp-early-access https://github.com/rockchip-linux/kernel/tree/isp-early-access]
=== Sensor Driver: ===
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
b97195b11f273496b43b08252f76340ab3c23673
1588
1587
2017-11-30T08:41:36Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
===== Record Preview, Still Capture in different resolution at a time =====
=== <br/> Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
==== Mainline ====
4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
==== [https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip BSP] ====
=== Sensor Driver ===
[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC358746]
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
29d87cfe827738a6a6a3b8f4aff6386fcb3e69b0
1589
1588
2017-11-30T08:42:44Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record Preview, Still Capture in different resolution at a time
<br/> Gstreamer
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
==== Mainline ====
4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
==== [https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip BSP] ====
=== Sensor Driver ===
[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC358746]
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
532aed6a7e97bc36fe734a4bf1d19cae43d3d1fb
1590
1589
2017-11-30T08:47:52Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record Preview, Still Capture in different resolution at a time
<br/> Gstreamer
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
28cdd9deb8094bbf3901ed2dd41cc409f8e97dad
1591
1590
2017-11-30T08:51:40Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record Preview, Still Capture in different resolution at a time
==== Gstreamer ====
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
39e6b65efd27dc0c6d675e0ccf39a187042c107d
1592
1591
2017-11-30T08:52:38Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
==== Gstreamer ====
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
08f92b60d44c130a6aee9598ca5e6670d92e627b
1593
1592
2017-11-30T08:54:39Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
==== Gstreamer ====
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
8bfb3316e6bfc99ce562a26a13114b20692b1ed0
1594
1593
2017-11-30T08:56:21Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
==== Gstreamer ====
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
d6b9da667a8b95fb4390d02966cceed1686389d3
File:Rkcamsrc.png
6
172
1595
2017-11-30T09:16:21Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rockchip-isp1
0
171
1596
1594
2017-11-30T09:17:32Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
==== Gstreamer ====
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
876318c33c86da377dcd483da829ccf666051f9f
1597
1596
2017-11-30T09:19:27Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
==== Gstreamer ====
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|upright|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
7015a587863af3409902481370d0c41b96335659
1598
1597
2017-11-30T09:25:50Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
Integrate 3A algorithm(TO BE DONE)
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|420px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
5ae5915b2260152cd81096ea93cbea19e2b127ce
1599
1598
2017-11-30T09:27:12Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|420px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
0663024501d53679dd427a96b34cc8d4848de655
1600
1599
2017-11-30T10:11:48Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
6a7f22becab3289dea7140010b1948e22093f5c1
1601
1600
2017-11-30T10:12:45Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
2a65e5a66607d594454a9fdc3edf0ecfc222c9ba
1602
1601
2017-11-30T10:13:50Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Linux Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
51252ac3e81f23c99bc45a36b35fa43c869cd5ed
1603
1602
2017-11-30T10:14:07Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
450938d8da951a4ed8155c40482446ecb1e0ad01
1604
1603
2017-11-30T10:14:40Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3 ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
c234c8e4cb2102fb5b62bda27d5a31a447c2b62b
1605
1604
2017-11-30T11:03:45Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1"
|-
! rowspan="2" | Controls
! rowspan="2" | Description
! rowspan="2" | R/W
! rowspan="2" | Needed by
|-
|-
|
V4L2_CID_VBLANK
| Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.
| R
| Ae
|-
|
V4L2_CID_HBLANK
| Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.
| R
| Ae
|-
|
V4L2_CID_EXPOSURE
| Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.
| R/W
| Ae
|-
|
V4L2_CID_ANALOGUE_GAIN
| Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.
| R/W
| Ae
|-
|
V4L2_CID_DIGITAL_GAIN
| Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.
| R/W
| Ae
|-
|
V4L2_CID_PIXEL_RATEP
| Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.
| R
| Ae
|-
|
V4L2_CID_LINK_FREQ
| Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== Integrate 3A algorithm(TO BE DONE) ====
==== Multi sensors(TO BE DONE) ====
==== Multi paths (TO BE DONE) ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== Camera Hal3(TO BE DONE) ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
c4cbe0a1cf961890a9baffeb8c9839bc4909c5e3
1606
1605
2017-11-30T11:04:28Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1"
|-
! rowspan="2" | Controls
! rowspan="2" | Description
! rowspan="2" | R/W
! rowspan="2" | Needed by
|-
|
V4L2_CID_VBLANK
| Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.
| R
| Ae
|-
|
V4L2_CID_HBLANK
| Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.
| R
| Ae
|-
|
V4L2_CID_EXPOSURE
| Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.
| R/W
| Ae
|-
|
V4L2_CID_ANALOGUE_GAIN
| Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.
| R/W
| Ae
|-
|
V4L2_CID_DIGITAL_GAIN
| Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.
| R/W
| Ae
|-
|
V4L2_CID_PIXEL_RATEP
| Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.
| R
| Ae
|-
|
V4L2_CID_LINK_FREQ
| Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
16663976fa70c488a9e636b54205f01ce0142077
1607
1606
2017-11-30T11:07:59Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! rowspan="2" | Controls
! rowspan="2" | Description
! rowspan="2" | R/W
! rowspan="2" | Needed by
|-
|
V4L2_CID_VBLANK
| Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.
| R
| Ae
|-
|
V4L2_CID_HBLANK
| Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.
| R
| Ae
|-
|
V4L2_CID_EXPOSURE
| Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.
| R/W
| Ae
|-
|
V4L2_CID_ANALOGUE_GAIN
| Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.
| R/W
| Ae
|-
|
V4L2_CID_DIGITAL_GAIN
| Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.
| R/W
| Ae
|-
|
V4L2_CID_PIXEL_RATEP
| Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.
| R
| Ae
|-
|
V4L2_CID_LINK_FREQ
| Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
77ed789417949158cdc4642870cc32de1a1a36a7
1608
1607
2017-11-30T11:08:49Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! rowspan="2" | Controls
! rowspan="2" | Description
! rowspan="2" | R/W
! rowspan="2" | Needed by
|-
| V4L2_CID_VBLANK
| Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.
| R
| Ae
|-
| V4L2_CID_HBLANK
| Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
e034a5d08224628a3bc155ca93061a6051b323db
1609
1608
2017-11-30T11:10:33Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
6698e119c16b546e1954faa3d8622c0686a2beb1
1610
1609
2017-11-30T11:16:47Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
== ISP Details ==
=== Block diagram ===
The datasheet about ISP is currently only available under NDA, so we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
538b44b8936e7508f4fde4c360324c7231a86b58
1611
1610
2017-11-30T11:24:51Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
=== Block diagram ===
Sorry we can't paste the completed block diagram from datasheet to here.
Below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
6f1ed0b88521eac36ce324f5afd66d813c78fb88
1612
1611
2017-11-30T11:25:53Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
dff4f2d3ee6bbe37b1907f5f5e32a62e286362c4
1613
1612
2017-11-30T11:29:59Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Driver Structure ===
==== Block diagram ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
ede0f5199e29033932c9b1a9d2413c9705268885
1614
1613
2017-11-30T11:35:09Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
== MIPI Details ==
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
Block diagram
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
dcf5957fcc5f520147784a9498c3102f0d2c28e5
1616
1614
2017-11-30T11:57:51Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
Block diagram
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
aecffe7dadabb011de2406a0f13c909d18a0b319
1617
1616
2017-11-30T12:04:03Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
Block diagram
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
d6efc02a852299d5fdf1d211eb7141da4bd69d08
1619
1617
2017-11-30T12:25:35Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
[[File:Blocks.png|1200px]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
Block diagram
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
70aa4db3a4f31067854cad1462ea4a6c50c4131b
1621
1619
2017-11-30T12:36:28Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
[[File:Code.png|1200px]]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATEP
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
f1ace2200116a7ba0b44c3dfbc853e6c99b9d5a6
1622
1621
2017-11-30T12:42:15Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
[[File:Code.png|1200px|Code.png]]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
edc6b2da19988734d4233c46be94127456109d45
1623
1622
2017-11-30T12:46:01Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is a abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== file view: ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view: ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
bfa6f70814ba7be82594ed7af750678d2c90c9b0
1624
1623
2017-11-30T12:47:14Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== file view: ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view: ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
8f1689dc5710226a95ca65f732606bfd192cacc0
1625
1624
2017-11-30T12:47:44Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
fd9c6bc93b3e9192d139106289a151f5569cae0d
1626
1625
2017-11-30T13:50:01Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Color Processing
*Image Effects
*Superimpose
*Luminance / Chrominance Splitter
*Crop
*Main Resize
*MPMUX for selection of main patch data flow
*Control unit
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
8e6213c820fd49ff5a64fd289cb9985165f1dea9
1627
1626
2017-12-01T01:14:34Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
4554db30aee16da52fab0a9e34d20d085090569b
1628
1627
2017-12-01T01:21:26Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Blocks.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
1649592aa93a0653db48a01fa847296eaca53a39
1631
1628
2017-12-01T01:24:25Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px]]
==== V4l2 view ====
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
4afda519d39b00ec5dbab609f8332683efcbb520
1637
1631
2017-12-01T02:08:10Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px]]
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
d149f5d61c9822138808d37b300b461ad7e35d75
1643
1637
2017-12-01T02:20:28Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style"
|-
! Name
! Type
! Description
|-
| rkisp1_mainpath
| v4l2_subdev
| R
|-
| rkisp1_selfpath
|
|
|-
| rkisp1-statistics
|
|
|-
| rkisp1-isp-subdev
|
|
|-
|
|
|
|-
|
|
|
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
c14b3b1701980e3d71aa1b44ce575020ee299d92
1644
1643
2017-12-01T02:29:09Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 607px;"
|-
! style="width: 117px;" | Name
! style="width: 100px;" | Type
! style="width: 251px;" | Description
|-
| style="width: 117px;" | rkisp1_mainpath
| style="width: 100px;" | v4l2_vdev
| style="width: 251px;" | R
|-
| style="width: 117px;" | rkisp1_selfpath
| style="width: 100px;" | v4l2_vdev
| style="width: 251px;" |
|-
| style="width: 117px;" | rkisp1-statistics
| style="width: 100px;" | v4l2_subdev
| style="width: 251px;" |
|-
| style="width: 117px;" | rkisp1-isp-subdev
| style="width: 100px;" |
| style="width: 251px;" |
|-
| style="width: 117px;" |
| style="width: 100px;" |
| style="width: 251px;" |
|-
| style="width: 117px;" |
| style="width: 100px;" |
| style="width: 251px;" |
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
## usually isp output format is YUYV2X8, unless we want to get raw format from mainpath/selfpath
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
8c8964f56d7a29da50cb4ef4ec15b6e8d00f013d
1645
1644
2017-12-01T02:32:15Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 607px;"
|-
! style="width: 117px;" | Name
! style="width: 100px;" | Type
! style="width: 251px;" | Description
|-
| style="width: 117px;" | rkisp1_mainpath
| style="width: 100px;" | v4l2_vdev
| style="width: 251px;" | R
|-
| style="width: 117px;" | rkisp1_selfpath
| style="width: 100px;" | v4l2_vdev
| style="width: 251px;" |
|-
| style="width: 117px;" | rkisp1-statistics
| style="width: 100px;" | v4l2_subdev
| style="width: 251px;" |
|-
| style="width: 117px;" | rkisp1-isp-subdev
| style="width: 100px;" |
| style="width: 251px;" |
|-
| style="width: 117px;" |
| style="width: 100px;" |
| style="width: 251px;" |
|-
| style="width: 117px;" |
| style="width: 100px;" |
| style="width: 251px;" |
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
## usually isp output format is YUYV2X8, unless we want to get raw format from mainpath
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
f6bee9bb15546a94c77256eb488f100f966dcbfc
1648
1645
2017-12-01T03:14:40Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt
https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
78f6178898106d1dd4ecf7ef3a71e30785419254
1649
1648
2017-12-01T03:16:44Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time.
selfpath and mainpath can work at a time, but it need some specific operations.
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
405cf3a7af4c99cd8cc8cad3b9aa20662a204370
1650
1649
2017-12-01T07:44:34Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time.
selfpath and mainpath can work at a time, but it need some specific operations.
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
cc3cc7a99f58686bd0d40f03050bfc7fd2bde308
1651
1650
2017-12-02T08:35:26Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time.
selfpath and mainpath can work at a time, but it need some specific operations.
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
b8e956c9739447d1bf05572d7b7dcae95ba767d0
File:Phy.png
6
173
1615
2017-11-30T11:57:16Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Blocks.png
6
174
1618
2017-11-30T12:24:57Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Code.png
6
175
1620
2017-11-30T12:35:45Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1630
1620
2017-12-01T01:22:32Z
Jacob
6
Jacob uploaded a new version of [[File:Code.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1632
1630
2017-12-01T01:27:19Z
Jacob
6
Jacob uploaded a new version of [[File:Code.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Block.png
6
176
1629
2017-12-01T01:21:37Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip-isp1-v4l2.png
6
177
1636
2017-12-01T02:07:18Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1638
1636
2017-12-01T02:09:27Z
Jacob
6
Jacob uploaded a new version of [[File:Rockchip-isp1-v4l2.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1639
1638
2017-12-01T02:11:56Z
Jacob
6
Jacob uploaded a new version of [[File:Rockchip-isp1-v4l2.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1647
1639
2017-12-01T03:03:39Z
Jacob
6
Jacob uploaded a new version of [[File:Rockchip-isp1-v4l2.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip-isp1-v4l2 (3).png
6
178
1646
2017-12-01T02:33:05Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Main Page
0
16
1653
1254
2017-12-04T08:07:31Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Rk3036_hardware_reference.zip|Rk3036 hardware reference.zip]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
df67424fcea7e53c92f636cd3278982909829024
1654
1653
2017-12-04T08:08:50Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Schematic&Layout_Guide|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
8a537a9dd7fee29c2515b838ca554e9c699d6193
1655
1654
2017-12-04T08:14:15Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Schematic&Layout_Guide|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
aa48985064a9a3c56164885550c36a21ff7dee06
1658
1655
2017-12-04T09:59:11Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Schematic&Layout_Guide|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
fe4968cf658d2aa8fbe10653c421f2de7ee8fa17
1673
1658
2017-12-06T08:27:41Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Rk3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
800b8b03c4cbf3f882f1077d38ddee1c93db2bb0
1674
1673
2017-12-06T08:28:45Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
23b7233e8d9de64738d89e57a13e79ccb4526502
1684
1674
2017-12-06T10:03:05Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]], [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
6d239fe57efd290f40e76118b8737b2292d91e8a
File:RK3036 hardware reference.zip
6
180
1657
2017-12-04T08:22:34Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
Board Config
0
160
1659
1474
2017-12-05T03:52:42Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-evb-rk808
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-rk808-linux.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
431e22e9abc9bc4a9a0f52f4400d50d380fc530d
Rockchip-isp1
0
171
1663
1651
2017-12-05T06:47:12Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime
# Set pad formats
## rkisp1 source pad
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
## rkisp1 sink pad == sensor source [ad]
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# Start capture
v4l2-ctl xxxxxxx
</pre>
==== <del>Integrate 3A algorithm</del> ====
==== <del>Multi sensors</del> ====
==== <del>Multi paths</del> ====
Record, Preview, Still Capture in different resolution at a time.
selfpath and mainpath can work at a time, but it need some specific operations.
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
267667a9f11affa54c75067e97ecb8e35ca9caa8
File:Rk3036.jpg
6
181
1664
2017-12-06T07:43:55Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3036
0
182
1665
2017-12-06T07:44:19Z
Admin
1
Created page with " Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core Cortex-A7, with s..."
wikitext
text/x-wiki
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
----
RK3036 have very good Linux support including U-Boot, kernel, graphics, video decoder and encoder.
= RK3036 SoC Feature =
----
*CPU
**Dual-core ARM Cortex-A7 MPCore processor, a high-performance, low-power and cached application processor
**Full implementation of the ARM architecture v7-A instruction set, ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation
**Integrated 32KB L1 instruction cache, 32KB L1 data cache with 4-way set associative
**128KByte unified L2 Cache
*GPU
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Memory
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank
**Nand Flash Interface: Support asynchronous nand flash, each channel 8bits,1 bank
**eMMC Interface: Compatible with standard eMMC interface, Support MMC4.5 protocol
**SD/MMC Interface: Compatible with SD2.0, MMC4.5
**Serial Flash Controller(SFC): One on-chip SFC inside RK3036
*System Component
**Timer: Four on-chip 64bits Timers in SOC with interrupt-based operation
**PWM: Four on-chip PWMs with interrupt-based operation
**WatchDog: 32 bits watchdog counter width
*Video
**Real-time video decoder of MPEG-1, MPEG-2, MPEG-4,H.263, H.264, VP8, MVC
**H.264 up to HP level 5.2 : 1080p@30fps (1920x1088)
**MPEG-4 up to ASP level 5 : 1080p@30fps (1920x1088)
**MPEG-2 up to MP : 1080p@30fps (1920x1088)
**MPEG-1 up to MP : 1080p@30fps (1920x1088)
**H.263 : 576p@30fps (720x576)
**VP8 : 1080p@30fps (1920x1088)
**MVC : 1080p@30fps (1920x1088)
**HEVC/H.265 decoder according to Main specification. Support up to 1920x1088 (1080P@30fps) resolution
*JPEG Codec
**Decoder size is from 48x48 to 8176x8176(66.8Mpixels). Maximum data rate is up to 76million pixels per second
**Encoder image size up to 8192x8192(64million pixels) from 96x32. Maximum data rate up to 90million pixels per second
*Display
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera
**Not camera interface. Only support USB camera
*Audio
**I2S/PCM with 8 channels: Up to 8 channels (4xTX, 1xRX). Audio resolution from 16bits to 32bits. Sample rate up to 192KHz
**SPDIF: Support 8 channels audio stream.
**Audio Codec: 24bit DAC with 95dB SNR. Support Line-out. Support Mono, Stereo, 5.1 HiFi channel performance. Integrated digital interpolation and decimation filter.
*Connectivity
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Other
**eFuse: One 256bits high-density electrical Fuse, organized as 32x8bits
see [http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html] for details
= Document =
----
= Devices =
b79d525b93f0e92ce26d0de18e6cc2234238566a
1666
1665
2017-12-06T07:47:23Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3288-evb-act8846.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
2ffcca14211e280c961d1b4b115622db870929ff
1667
1666
2017-12-06T07:49:07Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3288-evb-act8846.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
31d97d99913707ce180c9d66ec642522ca163e52
1668
1667
2017-12-06T08:06:06Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: Kylin-RK3036
= Documentation =
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
278fb6ba557e3467750d77167870104c25d7fada
1669
1668
2017-12-06T08:06:39Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: Kylin-RK3036
= Documentation =
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
ad387e03c6b62ad57b5c31c071d6ff9df924c8c1
1670
1669
2017-12-06T08:12:23Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036.jpg|200px]]
| manufacturer = Rockcihp
| process = Cortex-A7
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: Kylin-RK3036
= Documentation =
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
8b684e03a93be5f08136ed14469da698c1c50edc
1672
1670
2017-12-06T08:18:50Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = Cortex-A7
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: Kylin-RK3036
= Documentation =
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
d94bef94fc9e80fb813062542cd2c75393bd09b9
1680
1672
2017-12-06T09:51:55Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: Kylin-RK3036
= Documentation =
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
b4fe61051a6a96dcde48c4f90ff863df0f0d5ca1
1681
1680
2017-12-06T09:53:05Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
44a4b32cb7a11f0ff6edf6a4d121ab676f3e0d9d
1682
1681
2017-12-06T09:58:38Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
1911c5f2dd5797d7029da12ce840b00fec2d7ce6
1685
1682
2017-12-06T10:04:20Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
1510ec68f80f3852c1ae8f0d1ed5f7de8a886335
1686
1685
2017-12-06T10:05:45Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
97ea022264405bb438e1d8302f472115b7daacda
1687
1686
2017-12-06T10:06:32Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c7f5da117b8b72c77e1e1e1174fe8a9c390b12cb
1698
1687
2017-12-08T01:48:56Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
672e9fd891b6a2f81b722b949f9e59e03e99c911
1715
1698
2017-12-08T07:51:33Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c32d5d7d864070704fea2945de0923929acd0cf4
1716
1715
2017-12-08T07:53:51Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[RK3066-U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
dc329252e65b5674a526a46cf8704152c38d1ac3
1718
1716
2017-12-08T08:29:54Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
7d190875a4b17ec5768457068beccc1848f42900
1723
1718
2017-12-08T08:44:19Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
2. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
= Software =
See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
82bf0ad5f844aeeaf6e48cdde50604263c7f8411
File:Rk3036-core.jpg
6
183
1671
2017-12-06T08:13:36Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3288
0
20
1675
1246
2017-12-06T08:37:02Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3288-evb-act8846.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3036|RK3036]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
9a273fe44cc3b049ed3494ce01b7fbe5ffd5d718
Devices
0
49
1676
1150
2017-12-06T09:34:39Z
Admin
1
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3036 Boards =
Kylin: [[Kylin-RK3036|Kylin-RK3036]]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
= RK3328 Boards =
[[ROCK64|ROCK64]]
1ab996d60ff4cdaaf473f40fdc661bc979dbe89d
1679
1676
2017-12-06T09:50:29Z
Admin
1
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3036 Boards =
Kylin: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
= RK3328 Boards =
[[ROCK64|ROCK64]]
f83d19b1ff87545bd3a229f3af75d494e617a07a
1688
1679
2017-12-06T10:09:50Z
Admin
1
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
= RK3328 Boards =
[[ROCK64|ROCK64]]
d91ebb58f26d823805bef421e19d5ec81e446db6
RK3399
0
21
1677
1223
2017-12-06T09:44:24Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | rk3399-firefly
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3036|RK3036]]
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
b1babe297c7a01f71e3bbd72f0caa17e17683d25
RK3328
0
24
1678
1288
2017-12-06T09:44:56Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328-evb.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3036|RK3036]]
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
debf9f1c8e741a541a410cf0d4b976b6f2ef6ca7
File:Rockchip RK3036 Datasheet V1.2 20160115.pdf
6
184
1683
2017-12-06T10:00:10Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Boot option
0
116
1689
1554
2017-12-07T02:40:16Z
Ayaka
16
Adjust the organization of the SPL and u-boot sections, following the boot order.
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(TBL/SPL) ===
==== idbspl.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
==== idbloader.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
The ddr binary files for ARM64 platforms from Rockchip, likes RK3399 and RK3328 should not skip first 4 bytes.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre style="margin-left: 40px">sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
a3b639ab8aef692a6cf769769cdeefbe00b6e472
User:Admin
2
185
1699
2017-12-08T02:25:33Z
Admin
1
Created page with " <br/> = Overall = This guide provides information which will help you get started with rockchip opensource linux. If you have any questions, please report to us on g..."
wikitext
text/x-wiki
<br/>
= Overall =
This guide provides information which will help you get started with rockchip opensource linux. If you have any questions, please report to us on github project issue page.
We are providing 3 ways to build rootfs including prebuilt Debian, Yocto, Buildroot. <del>You can choose the way you prefer</del>.<small> '''(Please check the [[Status_Matrix|Software Status]] because different chips have a different support)'''</small>
You will need below firmware/image for a full Linux OS and flash them to different locations:
*U-Boot SPL/Rockchip miniloader <br/> *U-Boot <br/> *boot(including kernel, dtb and config file) <br/> *rootfs(Debian, Ubuntu, etc.)
Before starting to develop, please refer to '''[[Board_Config|board config]] '''and'' '''''[http://opensource.rock-chips.com/wiki_FAQ#How_to_select_board_config how-to]''' to choose a most matching config as the foundation.
= Environment =
Note that our development environment is Ubuntu, you can use 16.04 or later version<small>(with downgraded arm gcc)</small>.
Debian-9 and [https://github.com/rockchip-linux/docker-rockchip Docker-Rockchip] are also available.
'''Ubuntu 14.04 is ''deprecated, we don't guarantee that Linux SDK can work on it.'''''
Here are some necessary packages for building the project.
<pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev libssl-dev pv e2fsprogs build-essential fakeroot devscripts</pre>
If you insist on developing on your own environment, please make sure the version of <span style="font-size: 13px;">gcc-arm-linux-gnueabihf and gcc-aarch64-linux-gnu is less than 6.</span>
= Getting the Sources =
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
<br/> Create an empty directory to hold your working files.
<pre>mkdir rk-linux<br/> cd rk-linux<br/> </pre>
To initialize Linux SDK source tree, you need to get repo first
<pre>sudo apt-get install repo<br/> </pre>
Basic Linux SDK<small>(standalone kernel/u-boot/rootfs)</small>
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b master<br/> repo sync<br/> </pre>
Yocto
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto<br/> repo sync<br/> </pre>
Buildroot
<pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b buildroot<br/> repo sync<br/> </pre>
Below guides are based on basic Linux SDK, guides for yocto/buildroot could be found in the separate page.
= Quick start =
<small>'''ref : [[Partitions|partition]], [[Rockusb|rockusb]], [[Boot_option|boot]]'''</small>
We have provide [https://github.com/rockchip-linux/build build scripts] which essentially wraps the commands, so you can quickly start your development by them.
Please note that those scripts are assumed your directory structure is same with the one created by manifest. We use rk3288-firefly as example. You can change rk3288-firefly to any other board supported(ie. rk3399-firefly)
'''compile kernel'''
<pre>build/mk-kernel.sh rk3288-firefly<br/> </pre>
'''compile uboot'''
<pre>build/mk-uboot.sh rk3288-firefly<br/> </pre>
'''Pack all parts to a complete image'''
`s` is size in Mbyte, `r` is your rootfs image <small>([http://opensource.rock-chips.com/wiki_Debian prebuilt debian image])</small> location. Here we use rk3288 as example. You can change it to any other supported chips(ie. rk3399, rk3328).
<pre>build/mk-image.sh -c rk3288 -t system -r rk-debian-build/linaro-rootfs.img<br/> </pre>
'''flash image'''
eMMC <small>(Ensure the board is in maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom], Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>:
<pre>build/flash_tool.sh -c rk3288 -p system -i out/system.img<br/> </pre>
SD Card:<br/> `d` is your target device
<pre>build/flash_tool.sh -c rk3288 -p loader -i out/u-boot/idbloader.img -d /dev/sdb<br/> </pre>
'''bringup(burn kernel, uboot, gpt)'''
<pre>build/mk-kernel.sh rk3288-firefly<br/> build/mk-uboot.sh rk3288-firefly<br/> build/mk-image.sh -c rk3288 -t system -r rk-debian-build/linaro-rootfs.img<br/> build/flash_tool.sh -p system -i out/system.img</pre>
'''update kernel'''
<pre>build/mk-kernel.sh rk3288-firefly<br/> build/flash_tool.sh -p boot -i out/boot.img<br/> </pre>
'''update uboot (armv7)'''
<pre>build/mk-uboot.sh rk3288-firefly<br/> build/flash_tool.sh -p loader1 -i out/u-boot/idbloader.img<br/> </pre>
'''update uboot(armv8 with miniloader)'''
<pre>build/mk-uboot.sh rk3399-excavator<br/> build/flash_tool.sh -p loader1 -i out/u-boot/idbloader.img<br/> build/flash_tool.sh -p loader2 -i out/u-boot/uboot.img<br/> build/flash_tool.sh -p atf -i out/u-boot/trust.img<br/> </pre>
Before asking questions, please, read references and follow the setp by setp guide to boot your device.
It's better if you can study those build scripts.
Please refer to [https://github.com/rockchip-linux/rkbin/tree/master/tools/AndroidTool_Release_v2.39 AndroidFlashTool]<small>(TODO: wiki) </small>for flashing image on Windows. <small>(For the first time, it's recommended to use a linux host, to save the time.)</small>
= Step By Step =
== Building the sources ==
=== Building uboot ===
Installing the build tools and download source
Compile the Uboot
<pre>CROSS_COMPILE=arm-linux-gnueabihf- make evb-rk3288_defconfig all<br/> </pre>
You can get spl/u-boot-spl.bin(if there is) and u-boot.bin when build complete, we will use these files to generate idb.img or uboot.img
See [[U-Boot|U-Boot]] page for more detail.
There are two feasible ways to boot to U-Boot.<br/> 1. RK SPL bin(DDR.bin, miniloader)<br/> 2. U-Boot SPL
See [[Boot_option|boot option]] page for more detail.
=== Building kernel ===
Compile the kernel:
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig<br/> make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4<br/> </pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig<br/> make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4<br/> </pre>
You can get zImage/Image and dtbs when build complete, we will use these files to generate boot.img for boot partition.
See [[Rockchip_Kernel|Rockchip kernel]] for more detail.
=== Building rootfs ===
<small>It's recommend to download [http://opensource.rock-chips.com/wiki_Debian prebuilt debian image] for bringup.</small>
==== Debian ====
See [[Debian|debian-guide]] for detail.
You should get xxx-rootfs.img.
==== Yocto ====
See [[Yocto|yocto-user-guide]] for detail.
You should get xxx.ext4 rootfs image.
==== Buildroot ====
See [[Buildroot|buildroot-user-guide]] for detail.
You should get rootfs.img in this step for the Linux OS.
== Booting the Board ==
Then you can chose a suitable way for you to boot the board with flash all the image to media device.
*[[Boot_option#Boot_from_eMMC|''Booting from emmc'']] <br/> *[[Boot_option#Boot_from_SD.2FTF_Card|''Booting from sdcard'']] <br/> *[[Boot_option#Boot_from_USB-Disk|''Booting from udisk'']]
= See also =
[[U-Boot|U-Boot guide]]
[[Rockchip_Kernel|Rockchip kernel guide]]
[[Yocto|Yocto guide]]
[[Buildroot|Buildroot guide]]
== Drivers ==
Display:
*[[EDP|eDP]] <br/> *[[MIPI-DSI|MIPI-DSI]] <br/> *[[LVDS|LVDS]] <br/> *[[HDMI|HDMI]] <br/> *[[HDCP|HDCP]]
Graphic:
*[[Rga|RGA]] <br/> *[[GPU|GPU]] <br/> *[[VOP|VOP]]
USB:
*[[USB_OTG|D]][[DWC2|WC2]] <br/> *[[USB_HOST|D]][[DWC3|WC3]]
Storage:
*[[EMMC|eMMC]] <br/> *[[SD-Card|SD-Card]]
Audio:
*[[HDMI-Audio|HDMI-Audio]] <br/> *[[I2S|I2S]] <br/> *[[SPDIF|SPDIF]]
Connectivity:
*[[Wireless|Wireless]] <br/> *[[Ethernet|Ethernet]]
Others:
*[[PWM|PWM]] <br/> *[[I2C|I2C]] <br/> *[[SPI|SPI]] <br/> *[[UART|UART]] <br/> *[[Thermal|Thermal]] <br/> *[[Clock|Clock]] <br/> *[[DVFS|DVFS]] <br/> *[[Suspend/Resume|Suspend/Resume]]
== Customization ==
[[Boot_Time|Boot_Time]]
[[Boot_Logo|Boot_Logo]]
[[Image_Size|Image_Size]]
[[Firmware_Upgrade|Firmware_Upgrade]]
<br/>
adf04655e337a7c453e27addeb1ea1bc58ccab2a
Upstream Kernel
0
19
1703
1088
2017-12-08T03:06:57Z
Kever
2
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399|RK3399]]
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Fennec RK3288 - use rk3288-fennec.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>MiQi RK3288 - use rk3288-miqi.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
= Non-upstream module =
[[Graphics|Rockchp Graphics]]
[[Mpp|Rockchip Video]]
[[Camera|Rockchip Camera]]
6b5446aa95b3e39dfa88a4682f4765c96d47e73f
RK3066-U-Boot
0
187
1717
2017-12-08T08:26:39Z
Admin
1
Created page with " U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you..."
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board; (defconfig on uboot/configs)
<pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 16.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi
</pre>
== Start Build ==
<pre>make CROSS_COMPILE=arm-linux-gnueabi-
</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb
</pre>
== ==
== Generate Image: ==
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img
</pre>
<pre>cat u-boot.bin >> rk3036_idb.img
cp rk3036_idb.img ../out/u-boot/</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
<small>(Ensure the board is in maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom], Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>:
<pre>sudo rkdeveloptool db rk3036_loader_v1.07.237.bin
sudo rkdeveloptool wl 0x40 out/u-boot/rk3036_idb.img</pre>
7e4f87413ff11600c0a12f2244c3d4d771b27159
1720
1717
2017-12-08T08:30:35Z
Admin
1
Replaced content with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
RK3036-U-Boot
0
188
1719
2017-12-08T08:30:09Z
Admin
1
Created page with " U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you..."
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board; (defconfig on uboot/configs)
<pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 16.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi
</pre>
== Start Build ==
<pre>make CROSS_COMPILE=arm-linux-gnueabi-
</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb
</pre>
== ==
== Generate Image: ==
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img
</pre>
<pre>cat u-boot.bin >> rk3036_idb.img
cp rk3036_idb.img ../out/u-boot/</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
<small>(Ensure the board is in maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom], Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>:
<pre>sudo rkdeveloptool db rk3036_loader_v1.07.237.bin
sudo rkdeveloptool wl 0x40 out/u-boot/rk3036_idb.img</pre>
a2c5d1a182b2b40eece865a937be6505a9211519
1721
1719
2017-12-08T08:32:30Z
Admin
1
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board; (defconfig on uboot/configs)
<pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 16.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi
</pre>
== Start Build ==
<pre>make CROSS_COMPILE=arm-linux-gnueabi-
</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb
</pre>
== ==
== Generate Image: ==
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img
</pre>
<pre>cat u-boot.bin >> rk3036_idb.img
cp rk3036_idb.img ../out/u-boot/</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
<small>(Ensure the board is in maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom], Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>:
<pre>#you can get the rk3036_loader_x.bin from rkbin/rk30/
sudo rkdeveloptool db rk3036_loader_x.bin
sudo rkdeveloptool wl 0x40 out/u-boot/rk3036_idb.img</pre>
6e70a0b23336eaeab316dbc11c0f18fcb345f94d
1722
1721
2017-12-08T08:33:49Z
Admin
1
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board; (defconfig on uboot/configs)
<pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 16.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi
</pre>
== Start Build ==
<pre>make CROSS_COMPILE=arm-linux-gnueabi-
</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb
</pre>
== Generate Image: ==
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img
</pre>
<pre>cat u-boot.bin >> rk3036_idb.img
cp rk3036_idb.img ../out/u-boot/</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
<small>(Ensure the board is in maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom], Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>:
<pre>#you can get the rk3036_loader_x.bin from rkbin/rk30/
sudo rkdeveloptool db rk3036_loader_x.bin
sudo rkdeveloptool wl 0x40 out/u-boot/rk3036_idb.img</pre>
96405accc980d6521ca73d021cc494f67550b164
Rockchip RK3036 Kernel
0
189
1724
2017-12-08T09:00:24Z
Admin
1
Created page with " = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &..."
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
b64f8eadc871004d5a191a8502b98ee0261d9f17
1725
1724
2017-12-08T09:07:17Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
</pre>
<pre>cat >> boot/extlinux/extlinux.conf << EOF
label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
EOF
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
32dadca183af3a38acccfc20f750e3623c8abf9d
1726
1725
2017-12-08T09:12:32Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
</pre>
<pre>cat >> boot/extlinux/extlinux.conf << EOF
label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
EOF
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
<pre>sudo rkdeveloptool wl 0x8000 boot_rk3036.img</pre>
Then, how to generate boot.img? Please have a look at the following:
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
58837d9187838fb2abb9528871c4e0b6921e2b44
1727
1726
2017-12-08T09:14:16Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
</pre>
<pre>cat >> boot/extlinux/extlinux.conf << EOF
label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
EOF
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
<pre>sudo rkdeveloptool wl 0x8000 boot_rk3036.img</pre>
Then, how to generate boot.img? Please have a look at the following:
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
<pre>sudo rkdeveloptool wl 0x8000 boot.img</pre>
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
8c126c3f202876c4ff6ccd04665b1c23c8996d02
1728
1727
2017-12-08T09:16:53Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
</pre>
<pre>cat >> boot/extlinux/extlinux.conf << EOF
label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
EOF
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
<pre>sudo rkdeveloptool wl 0x8000 boot_rk3036.img</pre>
Then, how to generate boot.img? Please have a look at the following:
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
<pre>sudo rkdeveloptool wl 0x8000 boot.img</pre>
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
DEBUG Kernel:
if you have some issues on bringup kernel, you can enable the earlyprintk configs for rockchip_linux_defconfig
For example:
<pre>
cd arch/arm/configs/rockchip_linux_defconfig
+CONFIG_DEBUG_LL=y<br/> +CONFIG_DEBUG_RK29_UART2=y<br/> +CONFIG_EARLY_PRINTK=y
</pre>
9f694213e938efe03c2ad7a429bdfe9dfce4d2fb
Rockchip RK3036 Kernel
0
189
1729
1728
2017-12-08T09:18:48Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
</pre>
<pre>cat >> boot/extlinux/extlinux.conf << EOF
label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
EOF
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
<pre>sudo rkdeveloptool wl 0x8000 boot_rk3036.img</pre>
Then, how to generate boot.img? Please have a look at the following:
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
<pre>sudo rkdeveloptool wl 0x8000 boot.img</pre>
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
DEBUG Kernel:
if you have some issues on bringup kernel, you can enable the earlyprintk configs for rockchip_linux_defconfig
For example:
<pre>
cat >> arch/arm/configs/rockchip_linux_defconfig << EOF
CONFIG_DEBUG_LL=y
CONFIG_DEBUG_RK29_UART2=y
CONFIG_EARLY_PRINTK=y
EOF</pre>
c786051fc1fa8a5bb6b29fd9ad44323f58e01240
1730
1729
2017-12-08T09:19:55Z
Admin
1
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git
</pre>
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb
cp arch/arm/boot/zImage boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
</pre>
<pre>cat >> boot/extlinux/extlinux.conf << EOF
label kernel-4.4
kernel /zImage
fdt /rk3036-kylin.dtb
append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
EOF
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
<pre>sudo rkdeveloptool wl 0x8000 boot_rk3036.img</pre>
Then, how to generate boot.img? Please have a look at the following:
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
<pre>sudo rkdeveloptool wl 0x8000 boot.img</pre>
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums mmc 0</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
192 bytes read in 4 ms (46.9 KiB/s)
1: kernel-4.4
Retrieving file: /zImage
reading /zImage
7810312 bytes read in 726 ms (10.3 MiB/s)
append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait
Retrieving file: /rk3036-kylin.dtb
reading /rk3036-kylin.dtb
23641 bytes read in 6 ms (3.8 MiB/s)
Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ]
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
Loading Device Tree to 7df52000, end 7df5ac58 ... OK
Starting kernel ...
</pre>
== '''DEBUG Kernel''' ==
if you have some issues on bringup kernel, you can enable the earlyprintk configs for rockchip_linux_defconfig
For example:
<pre>cat >> arch/arm/configs/rockchip_linux_defconfig << EOF
CONFIG_DEBUG_LL=y
CONFIG_DEBUG_RK29_UART2=y
CONFIG_EARLY_PRINTK=y
EOF</pre>
Then build and re-install kernel for debug.
24b6b1f04a08a7514c4db658fe6376a4485f6eba
RK3036-U-Boot
0
188
1731
1722
2017-12-08T09:21:52Z
Admin
1
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board; (defconfig on uboot/configs)
<pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 16.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi
</pre>
== Start Build ==
<pre>make CROSS_COMPILE=arm-linux-gnueabi-
</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb
</pre>
== Generate Image ==
<pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img
</pre>
<pre>cat u-boot.bin >> rk3036_idb.img
cp rk3036_idb.img ../out/u-boot/</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
<small>(Ensure the board is in maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom], Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>:
<pre>#you can get the rk3036_loader_x.bin from rkbin/rk30/
sudo rkdeveloptool db rk3036_loader_x.bin
sudo rkdeveloptool wl 0x40 out/u-boot/rk3036_idb.img</pre>
fdf40098800143701ecdae0c4df0eca87d9deb5d
RK3036
0
182
1732
1723
2017-12-08T10:07:19Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot;
3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
4. See [[Distribution|Distribution]] to develop and custimize OS.
5. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
6. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
<br/>
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
f3f56ec47d3a632e2ac86f1850c0dcca919256cc
1734
1732
2017-12-08T10:20:42Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot;
3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
4. See [[Distribution|Distribution]] to develop and custimize OS.
5. [[RK3036_Linux-SDK-V1.0.pdf|RK3036_Linux-SDK-V1.0.pdf]]
5. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
6. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
<br/>
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c7c801d335599c02a7d1757f1d112b19d2ceee02
1736
1734
2017-12-08T10:21:53Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot;
3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
4. See [[Distribution|Distribution]] to develop and custimize OS.
5. [[Media:RK3036_Linux-SDK-V1.0.pdf|RK3036_Linux-SDK-V1.0.pdf]]
5. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
6. [[RK3036_hardware_reference.zip|Schematic&Layout Guide]]
<br/>
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
c8036e0ffa33456290e91e3bbb022b64144ff772
1737
1736
2017-12-11T01:10:25Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally;
2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot;
3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
4. See [[Distribution|Distribution]] to develop and custimize OS.
5. [[Media:RK3036_Linux-SDK-V1.0.pdf|Media:RK3036 Linux-SDK-V1.0.pdf]]
5. [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Media:Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
6. [[Media:RK3036_hardware_reference.zip|Media:RK3036 hardware reference.zip]]
<br/>
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
6b407adeabe0d42624aebd556856c9841b3b4cac
1744
1737
2017-12-12T09:40:10Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3036
| image = [[File:rk3036-core.jpg|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Qual-Core ARM Cortex-A7
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali400
| vpu =
| apu =
| video = HDMI 1.4
| audio = I2S, PCM
| network =
| storage = SD2.0, MMC4.5
| usb = OTG, Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html
}}
Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU.
= Overview =
RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications.
= RK3036 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A7 up to 1.0GHz
**32KB L1-Cache
**128KB L2-Cache
*Internal memory
**16KB BootRom
**8KB internal SRAM
*GPU:
**ARM Mali400
**High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc
**Embedded 1 shader core with shared hierarchical tiler
*Display:
**HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution
**CVBS interface: 10-bit Resolution. PAL/NTSC encoding
*Camera:
**Not camera interface. Only support USB camera
*Memory:
**8KB internal SRAM
**Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank.
*Connectivity:
**SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol
**EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible
**SPI Controller: One on-chip SPI controller
**UART Controller: Three on-chip UART controllers
**I2C controller: Three on-chip I2C controllers
**USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
**USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]]
|}
= Devices =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= Documentation =
1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide RK3036_Linux_user_guide] setup Linux OS generally;
2. See [[RK3036-U-Boot]] guide to develop U-Boot;
3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop RK3036 kernel;
4. See [[Distribution|Distribution]] to develop and custimize OS.
5. [[Media:RK3036_Linux-SDK-V1.0.pdf|Media:RK3036 Linux-SDK-V1.0.pdf]]
5. [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Media:Rockchip RK3036 Datasheet V1.2 20160115.pdf]]
6. [[Media:RK3036_hardware_reference.zip|Media:RK3036 hardware reference.zip]]
<br/>
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| rk3036-kylin
| rockchip_linux_defconfig
| kylin-rk3036_defconfig
| rk3036-kylin.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3036
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7]
#[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
cae23d5b6373adedf7e7caf6ed4e66b4c8f3b264
File:RK3036 Linux-SDK-V1.0.pdf
6
191
1735
2017-12-08T10:21:10Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rockchip Kernel
0
104
1738
1432
2017-12-11T08:54:58Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
5be48f83b37408290446d45d4f6563c64bd8eb0f
1740
1738
2017-12-11T09:01:45Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [[Boot_extlinux.zip|extlinux/extlinux.conf]] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
a387f990dbb1737015dd04ff7c9ea7008d480088
1741
1740
2017-12-11T09:02:11Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [[Media:Boot_extlinux.zip|extlinux/extlinux.conf]] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 1 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
81a443cc81bf0c3ae02e360a0344655eaebc68b4
1742
1741
2017-12-11T09:06:18Z
Kever
2
wikitext
text/x-wiki
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [[Media:Boot_extlinux.zip|extlinux/extlinux.conf]] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...
</pre>
2038d032992f30a58ce0e26fe23a713b946488d2
File:Boot extlinux.zip
6
192
1739
2017-12-11T09:00:39Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:CIF ISP10 Driver User Manual V1.0.pdf
6
193
1747
2017-12-13T03:57:07Z
Jacob
6
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Camera
0
74
1748
1573
2017-12-13T03:57:45Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= [[rockchip-isp1]] =
= [[CIF_ISP10_Driver_User_Manual_V1.0.pdf|rk-isp10]] =
= v4l2-cif =
33da9d983aa96e731d51946281873a487ea7b06d
1749
1748
2017-12-13T03:57:59Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= [[Rockchip-isp1|rockchip-isp1]] =
= [[CIF_ISP10_Driver_User_Manual_V1.0.pdf|rk-isp10]] =
= v4l2-cif =
721b74b375a2f65f1d0bad70412d1cdd94283819
1763
1749
2017-12-13T16:31:26Z
Jacob
6
wikitext
text/x-wiki
= status =
{| border="1" class="table_style" style="width: 659px;"
|-
!
! style="text-align: center;" | rk3288
! style="text-align: center; width: 247px;" | rk3399
|-
| ISP
| style="text-align: center;" | rockchip-isp1
| style="text-align: center; width: 247px;" | rk-isp10
|-
| CIF
| style="text-align: center;" | NO
| style="text-align: center; width: 247px;" | NO
|}
= [[Rockchip-isp1|rockchip-isp1]] =
= [http://opensource.rock-chips.com/wiki_File:CIF_ISP10_Driver_User_Manual_V1.0.pdf rk-isp10] =
= v4l2-cif =
4c3c9d22e96e03fc1b6188654410265235bf1f1b
Firmware Upgrade
0
169
1777
1539
2017-12-20T02:14:26Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del><small>(We have add common key detect fucntion after 20171218)</small>.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
a03da4d1087304732bcfa9c8eaa309a7b8e53d4c
1778
1777
2017-12-20T02:15:00Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del><small>(See arch/arm/mach-rockchip/boot_mode.c for common key detect fucntion after 20171218)</small>.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
45d77f1b37eb1a13b15db4bda4cc4ab55ed17414
1779
1778
2017-12-20T02:26:04Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del>
<small>(U-boot have get common key detect support after 20171218, press recovery key and th board can enter rockusb mode)</small>.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
119ff5d8affaa8774677b9c0f90ade509c428eaa
1783
1779
2017-12-21T04:16:27Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del>
<small>(Common key detect support is added after 20171218, now the board can enter rockusb mode by pressung recovery key)</small>.
It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
63ef5634e99ccaf1cab739d16ae7c7580658c4de
1784
1783
2017-12-21T04:17:14Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple, unified
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del>
<small>(Common key detect support is added after 20171218, now the board can enter rockusb mode by pressing recovery key)</small>.
It's also possible to do network/usb-disk upgrade in u-boot.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
80e6d656f2f9916f7c0a3ded6375ff979ba1aeba
1785
1784
2017-12-21T04:17:30Z
Jacob
6
wikitext
text/x-wiki
= Overall =
This guide provides information which will help you choose a ''firmware upgrade'' way.
= MASKROM =
MASKROM is the simplest way.
Belows are the ''advantages'' and disadvantages of using maskrom.
Advantages:
*Avoid brick
*Simple
Disadvantages:
*Need a maskrom key
Support update from
*USB OTG
= U-boot =
Rockchip mainline u-boot have support various upgrade ways, such as rockusb/fastboot/ums, each of them could be used.
It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the [https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del>
<small>(Common key detect support is added after 20171218, now the board can enter rockusb mode by pressing recovery key)</small>.
It's also possible to do network/usb-disk upgrade in u-boot.
Belows are the ''advantages'' and disadvantages of using u-boot.
Advantages:
*Common
Disadvantages:
*Must be familiar with u-boot
Support update from
*USB OTG
*USB DISK
*Network
= Linux =
Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb installation.
<small>(SDK build scripts can pack kernel/u-boot in deb)</small>
Advantages:
*standard
*user-friendly
Disadvantages:
* could be brick
= SD-Card Recovery =
By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card first.
We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which burn firmware to eMMC.
Advantages:
*Convenient
Disadvantages:
*Slow
= Initramfs/Recovery =
Advantages:
*Powerful
Disadvantages:
*Slow
0b068d4d4fa204cca42854661710e6cf3efef640
Rockusb
0
122
1782
1291
2017-12-21T04:15:00Z
Jacob
6
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are two cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Miniloader Rockusb mode ==
The miniloader has Rockusb driver inside, system will run rockusb driver after power on if:
- there is no next stage firmware found.
erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
= USB ID =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
966355053991bb98ee5c4bdd576f43843ff4021b
Rockchip-isp1
0
171
1786
1663
2017-12-22T01:00:36Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed during runtime
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
cae9d569870478ab044ad8d4d0ca3db4db2cb105
1787
1786
2017-12-22T01:02:08Z
Jacob
6
wikitext
text/x-wiki
NOTE: Under Construction
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
aafe32681b18166d39037390d704e0f20f6882a0
1788
1787
2017-12-22T01:02:26Z
Jacob
6
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings(tmp) ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
482e5c320a82fc6409175a6b204894b5b22fee10
1791
1788
2018-01-04T03:04:35Z
Jacob
6
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
d29b2c5b764449870ef3ba437d61e5126bb0b8fb
1792
1791
2018-01-04T03:06:44Z
Jacob
6
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
c369c81380c2a2fb2ab5e59cb4a6bf84f15502ee
1797
1792
2018-01-08T03:07:22Z
Jacob
6
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
150371af8cbcb83c27b5cde0839c4bc5643f50ea
1799
1797
2018-01-08T08:02:28Z
Jacob
6
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
==== 3A ====
https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1
=== Gstreamer ===
We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin.
[[File:Rkcamsrc.png|500px|RTENOTITLE]]
Please refer to readme in github for usage.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
15602f018babf47dc22de3c0f0f4819f7c4195b3
Board Config
0
160
1793
1659
2018-01-08T01:51:17Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 920px;"
|-
! rowspan="2" style="width: 153px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-evb-rk808
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-rk808-linux.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly-reload-linux.dts
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly-reload-linux.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
e852a5e36495d0c704e7b9663fe5e0d46efbb1c7
1794
1793
2018-01-08T01:52:21Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 1020px;"
|-
! rowspan="2" style="width: 253px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-evb-rk808
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-rk808-linux.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly-reload-linux.dts
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly-reload-linux.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
e35bdae2f35e85c8b2545750ca7272b45f9c081d
1795
1794
2018-01-08T01:52:51Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 1020px;"
|-
! rowspan="2" style="width: 253px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-evb-rk808
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-rk808-linux.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly-reload
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly-reload-linux.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
4679c9a25b96578276bb4773132bee233d0e56ff
1796
1795
2018-01-08T01:53:55Z
Jacob
6
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 1020px;"
|-
! rowspan="2" style="width: 253px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-evb-rk808
| style="width: 172px;" | <del>fennec-rk3288_defconfig</del>
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-rk808-linux.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-fennec
| style="width: 172px;" | fennec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-fennec.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly-reload
| style="width: 172px;" | <del>f<var>irefly-rk3288_defconfig</var></del>
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly-reload-linux.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
d9febb50fd4d32409990f894a5b3adb999f90bed
Main Page
0
16
1800
1684
2018-01-16T06:35:39Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]], [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Status[[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
4c6b9efc4fab913759eb35597d67318c9232ce64
1801
1800
2018-01-16T06:36:36Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]], [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[StatusMatrix|Status]][[Status_Matrix|Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
75c5ada4835a256f57adea33a674b03c061ae9b9
1802
1801
2018-01-16T06:37:25Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]], [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
d9ddb564c54a85ed084f589dadeab41eeba18b52
1803
1802
2018-01-16T06:38:12Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3036|RK3036]]
| style="width:286px;" | Dual-core Cortex-A7, Mali 400 MP1 GPU
| style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]], [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p>
| style="width:286px;" |
Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
9c1280e83bf4dcb1aad25de58494bebdf48136bc
U-Boot
0
11
1817
1551
2018-01-23T07:49:21Z
Jacob
6
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git
</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
=== others ===
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'
</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
To be continue
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
*
Distro boot
*
EFI boot
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
*fastboot
*ums
*rockusb
f75fecc7393ce5c1479c3ad46123ce88786b6fd0
1818
1817
2018-01-23T07:49:51Z
Jacob
6
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git
</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
=== others ===
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'
</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
To be continue
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
*Distro boot
*EFI boot
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
*fastboot
*ums
*rockusb
88816e7e70a9b0c702ce6f31055bcdac45235474
1819
1818
2018-01-23T07:50:17Z
Jacob
6
wikitext
text/x-wiki
U-Boot Guide
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git
</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]]
*RK3036 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use evb-rk3036 configuration</li>
<li>Kylin - use kylin_rk3036 configuration</li>
</ol>
*RK3288 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use evb-rk3288 configuration</li>
<li>Fennec RK3288 - use fennec-rk3288 configuration</li>
<li>Firefly RK3288 - use firefly-rk3288 configuration</li>
<li>Hisense Chromebook - use chromebook_jerry configuration</li>
<li>Miniarm RK3288 - use miniarm-rk3288 configuration</li>
<li>PopMetal RK3288 - use popmetal-rk3288 configuration</li>
<li>Radxa Rock 2 - use rock2 configuration</li>
<li>ASUS Tinker</li>
</ol>
*RK3188 boards supported:
<ol style="margin-left: 40px;">
<li>Radxa Rock - use rock configuration</li>
</ol>
*RK3328 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3328 - use evb-rk3328 configuration</li>
</ol>
*RK3399 boards supported:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use evb-rk3399 configuration</li>
</ol>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
=== others ===
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'
</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
To be continue
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [[Boot_option|boot option]] about how to boot from eMMC/SD card.
= Boot cmd =
*Distro boot
*EFI boot
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
*fastboot
*ums
*rockusb
b95df0637e43040aca44a99cf7e463a5eb7e4b96
Boot option
0
116
1820
1689
2018-01-23T07:51:55Z
Jacob
6
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(TBL/SPL) ===
==== idbspl.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
==== idbloader.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
The ddr binary files for ARM64 platforms from Rockchip, likes RK3399 and RK3328 should not skip first 4 bytes.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
d95068a083e39654c8d09d1e7448ec6813fb75d2
1827
1820
2018-03-30T07:06:48Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(TBL/SPL) ===
==== idbspl.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
==== idbloader.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
<pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1
tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
The ddr binary files for ARM64 platforms from Rockchip, likes RK3399 and RK3328 should not skip first 4 bytes.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
rm ddr.bin
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
22c8b97304b4fb298ac6c0d0491d599a90521a86
1828
1827
2018-03-30T07:12:21Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(TBL/SPL) ===
==== idbspl.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
==== idbloader.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
b69563370a4f3a896f4310712a627a76ac6040fa
RK3328
0
24
1823
1678
2018-01-29T02:02:41Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328-evb.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3036|RK3036]]
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
98d3c3ddbb2c5faad348e27edba4faa0ea57067a
1824
1823
2018-01-29T02:04:41Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Devices =
PINE64: [[ROCK64|ROCK64]]
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK_EVB_RK3228H_BOX_RK805_DDR3
| rockchip_linux_defconfig
| rk3328_linux_defconfig
| rk3328-evb.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= See also =
[[RK3036|RK3036]]
[[RK3288|RK3288]]
[[RK3399|RK3399]]
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
d8a4e63cea2106332f5d8ea12183efaf32e9451a
RK3399
0
21
1825
1677
2018-01-29T02:06:04Z
Kever
2
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | rk3399-firefly
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3036|RK3036]]
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
e22319bcdcb49261a26e7440277ee687c40cdc9e
RK3288
0
20
1826
1675
2018-01-29T02:06:51Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Devices =
Rockchip: EVB-RK3288
Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]]
ASUS: [[ASUS_Tinker|Tinker board]]
= Documentation =
#[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]]
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3288-evb-act8846.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= See also =
[[RK3036|RK3036]]
[[RK3328|RK3328]]
[[RK3399|RK3399]]
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
e681a399dee5a6fc19e7ddb8d42023a1ee9fb913
Boot option
0
116
1829
1828
2018-03-30T07:14:44Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(TBL/SPL) ===
==== idbspl.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''disabled'''.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
==== idbloader.img ====
U-Boot SPL, with SPL_BACK_TO_BROM option '''enabled''':
<pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img
cat u-boot.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3.
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
dffebe41900cdc68413da7638517cb02875e2308
1830
1829
2018-03-30T07:23:25Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(TBL/SPL) ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and you will need a uboot.img for boot stage 3.
==== idbspl.img ====
U-Boot SPL, only available in rk3399.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
25603b248e2dce8a29e7f5fdb4dafe37add3985b
1831
1830
2018-03-30T07:24:43Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and you will need a uboot.img for boot stage 3.
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== U-Boot ===
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
Flash the u-boot.itb to offset 0x4000, while need idbspl.img flash to offset 0x40.
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
Flash the uboot.img to offset 0x4000 which is stage 3;
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
36bcb6fbc8afb55d687238a93e00a916dfe31171
1832
1831
2018-03-30T07:26:42Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img</pre>
Flash the idbloader.img to offset 0x40 which including boot stage 2 and you will need a uboot.img for boot stage 3.
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre>
Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb).
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
352853b6dca0fbb55a5f75deb20f15d5d05bdc4c
1833
1832
2018-03-30T07:29:11Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x200 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
53fd6581e187155d07714b18f4baf2be5217b925
Main Page
0
16
1834
1803
2018-04-16T04:58:30Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
Firefly-RK3399, Excavator, Rock960, VS-RK3399, Rico-rk3399, Odroid N1, Orange Pi RK3399
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU, MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" | Firefly-RK3288, RK3288-evb, Tinker, Rico-3288, Miqi, Phytec-rk3288
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU,MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" | ROC-RK3328-CC, ROCK64
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
2f30d959255edfd5f3535c5b3744065e64d282a0
1835
1834
2018-04-16T05:01:34Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
Firefly-RK3399
Excavator
Rock960
VS-RK3399
Rico-rk3399
Odroid N1
Orange Pi RK3399
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
Firefly-RK3288
RK3288-evb
Tinker
Rico-3288
Miqi
Phytec-rk3288
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
ROC-RK3328-CC
ROCK64
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
3c0e5b1aec8e77711d0ad812ee22a3c53903cda4
1836
1835
2018-04-16T05:03:30Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
Firefly-RK3399
Excavator
VS-RK3399
Rico-rk3399
Orange Pi RK3399
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
Firefly-RK3288
RK3288-evb
Tinker
Rico-3288
Miqi
Phytec-rk3288
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
ROC-RK3328-CC
ROCK64
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
a23e43b7cdfa6680f827212ced0a6c02e74cc313
1837
1836
2018-04-16T05:06:55Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
Excavator
VS-RK3399
Rico-rk3399
Orange Pi RK3399
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
Firefly-RK3288
RK3288-evb
Tinker
Rico-3288
Miqi
Phytec-rk3288
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
ROC-RK3328-CC
ROCK64
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
2c17fd1f49b2b2cbe23da203eeceb2da175f4dc7
1838
1837
2018-04-16T05:09:40Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
Excavator
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
ROC-RK3328-CC
ROCK64
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
50e0c6a80a0d7059f4c69c5b83aba4b735e1115f
1839
1838
2018-04-16T05:10:58Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
Excavator
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Yocto|Yocto]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
31c6748607112d287e3d06a4ce818e5ab5d6f857
1840
1839
2018-04-16T05:14:39Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
Excavator
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
155ba6ea6154d897eb00909ff133eb99031e4a94
1841
1840
2018-04-16T06:01:32Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux_user_guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Upstream_Kernel|Upstream Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot_option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
12c55ba68b3d0308f1cb8089f234f7dfea017f20
1868
1841
2018-04-18T10:10:23Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
Here are the documents for SoCs, you can find Hardware device/board information on [[Devices|DEVICE LIST PAGE]].
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
d6f02785f7c48712be7c1ad00e10db3289dfb3e3
1871
1868
2018-04-18T10:26:42Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
Note: Click SoC name for Detail information and Document for the SoC.
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
aa555ae9990b44febc9c37b37fccccf7daca1a69
1872
1871
2018-04-18T10:29:35Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
d9579a4ada8975c008082cad42bf81e5bca34e9c
1873
1872
2018-04-18T10:29:52Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Camera|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
71ce461eec5e5e281f8c050c7d9990eba95b90a3
1890
1873
2018-04-19T03:45:40Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|Rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
020797b116b0a07cc4c00d2fac3bd7858cf8e386
1892
1890
2018-04-23T00:59:58Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T864 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T764 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
03a74e61c73af4771168d690065b71b6d0114470
1893
1892
2018-04-23T01:02:05Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
44b2535b410eb4149c165a3190c9868b50938ac2
1894
1893
2018-04-23T01:51:41Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
9d67fc29c3edb7b88b2dd7782c97c42a36f77c89
1906
1894
2018-04-25T01:58:17Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
1680212348c7e7875cf37113099d349a50d9526d
1912
1906
2018-04-25T02:03:06Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''Porting guide for Linux based OS/Distribution'''
**[[Linux_user_guide|Linux User Guide]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Distribution|Other distribution]]
*'''BSP module user guide'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
fbc4b2447c8b521251b4c821aae60a2ed4209cd1
U-Boot
0
11
1850
1819
2018-04-18T07:24:20Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the U-Boot:
<pre>./make.sh miqi-rk3288
</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware
uboot.img: The U-Boot image
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [http://opensource.rock-chips.com/wiki_Boot_option boot option] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
0cf71432194dcd554fe07ac866a5d5e65117057e
1851
1850
2018-04-18T07:53:47Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the U-Boot:
<pre>./make.sh miqi-rk3288
</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware, Please flash this binary to trust partition
uboot.img: The U-Boot image, Please flash this binary to uboot partition
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [[Boot_option|boot option]] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
e731cc94d8b8385df7a2ec6f0397b048247c6657
Rockchip Kernel
0
104
1852
1742
2018-04-18T07:57:03Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm32 rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>./make.sh miqi-rk3288
</pre>
It will generate 2 binary image: kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
See [[Rockchip_Kernel|Rockchip kernel]] for more detail.
ab0365126bd024a351fdc1054603d8d7710b780e
1854
1852
2018-04-18T07:58:54Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm32 rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>./make.sh miqi-rk3288
</pre>
It will generate 2 binary image: kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
<audio controls="controls" style="display: none;"> </audio>
6738028fe46e2df89a965258b99404107e7b836c
1862
1854
2018-04-18T09:05:45Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm32 rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>./make.sh miqi-rk3288
</pre>
It will generate 2 binary image: kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
7d472787789d52748f2943d2f00ea8b783f6e30e
1875
1862
2018-04-18T10:56:12Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm32 rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
It will generate 2 binary image: kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
398915a6d8549d921cb4ad960d4f89db15e12c51
1876
1875
2018-04-19T00:49:09Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
It will generate 2 binary image: kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
ba63adf992f43d94d897c5fabc58c703cdff3370
AndroidTool
0
194
1856
2018-04-18T08:32:33Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
1891
1856
2018-04-23T00:58:27Z
Admin
1
wikitext
text/x-wiki
AndroidTool is a firmware upgrade tool for Windows. You can find it in [Linux SDK root]/ tools/windows/. Or you can donwload it from [https://github.com/rockchip-linux/tools/blob/rk3399/windows/AndroidTool_Release_v2.52.zip here]. To use AndroidTool, You have to install windows driver first. Please use DriverAssitant to install window driver. The DriverAssitant is under [Linux SDK root]/ tools/windows/ directory.
c9c2d74e7ab00169cf721bccbe71e61923790e1a
Upgradetool
0
195
1857
2018-04-18T08:32:57Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
1874
1857
2018-04-18T10:41:44Z
Admin
1
wikitext
text/x-wiki
upgradetool is a firmware upgrade tool for Linux. You can find it in [Linux SDK root]/ tools/linux/Linux_Upgrade_Tool. Or you can donwload it from [https://github.com/rockchip-linux/tools/tree/rk3399/linux/Linux_Upgrade_Tool here].
To use upgradetool flash image. Please make sure your device is in [[Rockusb|maskrom rockusb mode]]. Go to the rockimg directory
<pre>cd rockimg
</pre>
Use below command to flash image. Let's use RK3399 as an example. You only need change rk3399_loader_v1.09.112.bin to the one you are using.
<pre>sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool ul rk3399_loader_v1.09.112.bin
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -p parameter.txt
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -u uboot.img
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -t trust.img
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -re resource.img
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -k kernel.img
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -rootfs linaro-rootfs.img
sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool rd
</pre>
8d0bfa84db9aec3c65a7a99344d11c60abff9a97
1881
1874
2018-04-19T01:14:07Z
Admin
1
wikitext
text/x-wiki
upgrade_tool is a firmware upgrade tool for Linux. You can find it in [Linux SDK root]/ tools/linux/Linux_Upgrade_Tool. Or you can donwload it from [https://github.com/rockchip-linux/tools/tree/rk3399/linux/Linux_Upgrade_Tool here].
To use upgrade_tool, make sure you can execute it first.
<pre>chmod 777 ./tools/linux/Linux_Upgrade_Tool/upgrade_tool
</pre>
To use upgradetool flash image. Please make sure your device is in [[Rockusb|maskrom rockusb mode]]. Go to the rockimg directory
<pre>cd rockimg
</pre>
Use below command to flash image. Let's use RK3399 as an example. You only need change rk3399_loader_v1.09.112.bin to the one you are using.
<pre>sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool ul rk3399_loader_v1.09.112.bin
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -p parameter.txt
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -u uboot.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -t trust.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -re resource.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -k kernel.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -rootfs rootfs.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool rd
</pre>
e2a3e20d761356859926eb5542ca81af8e5c0f46
Status Matrix
0
154
1895
1570
2018-04-23T03:11:11Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: orange;" | SUPPORT
| style="background: orange;" | <span style="background-color:#FFF0F5;">N/A</span>
| style="background: orange;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | N/A
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | LVDS
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: grey; color: white;" | ?
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: orange;" | WIP
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
7ae0d4dac0ecba99c4a50df561cc5e807f66172d
1896
1895
2018-04-23T03:31:20Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: grey;" | ?
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: grey;" | ?
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
e9ed27684819f3fd2a47a93dbbb6ffd0e6737f46
1897
1896
2018-04-23T03:32:12Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: orange;" | WIP
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| N/A
| style="background: red;" | NO
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.4
| N/A
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | CVBS
| N/A
| style="background: darkgreen;" | INCOMPLETE
| N/A
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| style="background: lightgreen;" | 4.14
| N/A
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
| style="background: lightgreen;" | 4.15
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
f1b91b9d7e7f032d6a8ac13b7ab87d4a2fef5043
1898
1897
2018-04-23T03:36:25Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3288
! RK3328
! RK3399
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Yocto
| style="text-align: left;" | X11
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | QT EGLFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | WESTON
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | Buildroot
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | JPEG
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
| style="background: darkgreen;" | MPP
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| N/A
| style="background: orange;" | WIP
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
54140f96c4503f2e42278b8ecbfc7f6111b93993
1899
1898
2018-04-23T03:41:23Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background-color: orange;" | WIP
| style="background: white;" | N/A
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
02acd30787eb00e58a48fefff5dcceea3dc9609d
RK3399
0
21
1901
1825
2018-04-25T01:52:16Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel;
See [[Distribution|Distribution]] to develop and custimize OS.
== Borad configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;"
|-
! style="width: 119px; text-align: center;" | '''board'''
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 170px; text-align: center;" | '''uboot'''
! style="width: 277px; text-align: center;" | '''dts'''
|-
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | evb-rk3399_defconfig
| style="width: 277px; text-align: center;" |
rk3399-sapphire-excavator-linux.dts
|-
| style="width: 119px; text-align: center;" | rk3399-firefly
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 170px; text-align: center;" | firefly-rk3399_defconfig
| style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly]
Theobroma Systems: [[RK3399-Q7|RK3399-Q7]]
If you need the rk3399-excavator board, please communicate through the following contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div>
= See also =
[[RK3288|RK3288]]
[[RK3328|RK3328]]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
0c22d25e6948c93cf175bc68377a4bf0b56fc74b
1914
1901
2018-04-25T02:37:04Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux User Guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] to develop kernel;
See [[Buildroot|buildroot ]]and [[Debian|debian ]]to develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
e529cf9e580594cb7b3a17ad703f073960c3de89
1915
1914
2018-04-25T02:37:38Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux User Guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] to develop kernel;
See [[Buildroot|buildroot and]] [[Debian|debian to]] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
1ce7cf448d7617d09c6e1884fdf54ee628627376
File:Firefly-RK3288.png
6
196
1903
2018-04-25T01:56:50Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Firefly-RK3399.png
6
197
1904
2018-04-25T01:57:12Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ROC-RK3328-CC.png
6
198
1905
2018-04-25T01:57:27Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Excavator sapphire board
0
59
1913
1169
2018-04-25T02:34:53Z
Admin
1
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
db8d5cf7589be362253392a8899d663959d91726
RK3288
0
20
1916
1826
2018-04-25T02:39:21Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Documentation =
#[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]]
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Board configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''board'''
! '''kernel'''
! '''uboot'''
! '''dts'''
|-
| RK3288_MAINBOARD_V3.0
| rockchip_linux_defconfig
| rk3288_linux_defconfig
| rk3288-evb-act8846.dts
|}
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= =
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
10ffa3ea1331d4709dfcab3737a1b7ae6cacab7e
1917
1916
2018-04-25T02:40:10Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Documentation =
#[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]]
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= =
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
2fb910391098a635f11b774f70ee8b5f91c7e641
RK3328
0
24
1918
1824
2018-04-25T02:40:57Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" | [[File:3328.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
e53c615a31ff7d0fb35e961530192424adbd23c5
RK3328
0
24
1919
1918
2018-04-25T02:41:56Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
[[File:3328.png|RTENOTITLE]]
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" |
|}
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
<audio controls="controls" style="display: none;"> </audio>
53b99acb7ad4a20fe798a3cb0d3cb5d94926ddfa
1920
1919
2018-04-25T02:42:22Z
Admin
1
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockcihp
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
[[File:3328.png|RTENOTITLE]]
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" |
|}
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
5144f8a07b458664c097be78169fae2de162e172
Uboot
0
200
1924
2018-05-11T06:12:32Z
Admin
1
Created page with " In your linux SDK root directory. enter to U-Boot directory. <pre>cd u-boot </pre> For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use b..."
wikitext
text/x-wiki
In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the U-Boot:
<pre>./make.sh miqi-rk3288
</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware, Please flash this binary to trust partition
uboot.img: The U-Boot image, Please flash this binary to uboot partition
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [http://opensource.rock-chips.com/wiki_Boot_option boot option] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
954f6f1225375f3a2cc24c773056a6cd12bd95ad
1932
1924
2018-05-25T09:47:28Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the U-Boot:
<pre>./make.sh miqi-rk3288
</pre>
For rk3288-evb-rk1608 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288-rk1608</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware, Please flash this binary to trust partition
uboot.img: The U-Boot image, Please flash this binary to uboot partition
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [http://opensource.rock-chips.com/wiki_Boot_option boot option] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
d25be6e09558c497510ce76ec85724baae520e74
Kernel
0
201
1925
2018-05-11T06:13:49Z
Admin
1
Created page with " In your linux SDK root directory. enter to kernel directory. <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig..."
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
It will generate 2 binary image: kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
e4a60c0d73b24eb7ff523a3bc47975806c4eed06
1933
1925
2018-05-25T09:48:48Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
For rk3288-evb-rk1608 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre>
It will generate 2 binary image: boot.img, kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
bb53eb736ff8038028a8b18f9bbf531a0f29ebca
1934
1933
2018-05-25T09:51:32Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
For rk3288-evb-rk1608 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre>
It will generate 2 binary image: boot.img, kernel.img, resource.img.
kernel image: Please flash this binary to kernel partition
resource image: it contain kernel dtb. Please flash this binary to resource partition
bootimage: it pack kernel image and resource image into Android boot image format. Please flash this binary to boot partition
b1e5c16960a8da11d663f43d29ebf50a2ca3d6e3
1943
1934
2018-06-19T08:13:20Z
Admin
1
wikitext
text/x-wiki
In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
For rk3288-evb-rk1608 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre>
It will generate boot.img(ARM v8) or zboot.img(ARM v7): it pack kernel image and resource image into Android boot image format. Please flash this binary to boot partition
63f77c8617c142152980a9918301f31c6683a3d9
Main Page
0
16
1926
1912
2018-05-11T06:17:45Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP for Rockchip Linux SDK'''
**[[Linux_user_guide|Linux SDK User Guide]]
**[[Uboot|U-Boot]]
**[[Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
*'''BSP for Distro'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Rockchip Kernel]]
**[[Atf|ARM Trusted Firmware]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
e06dd4129f3036081fe541392fee76e3723dab7d
1929
1926
2018-05-11T06:25:58Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP for Rockchip Linux SDK'''
**[[Linux_user_guide|Linux SDK User Guide]]
**[[Uboot|U-Boot]]
**[[Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
*'''BSP for Distro'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
b17ceafb039bf01bb2874e7d5f7b125c1d0ef308
1957
1929
2018-06-28T08:07:25Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP for Rockchip Linux SDK'''
**[[Linux_user_guide|Linux SDK User Guide]]
**[[Uboot|U-Boot]]
**[[Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
*'''BSP for Distro'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
c43b267fbcd0d6bde0fdb6985c226df6cc6fc872
1959
1957
2018-07-10T07:26:14Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP for Rockchip Linux SDK'''
**[[Linux_user_guide|Linux SDK User Guide]]
**[[Uboot|U-Boot]]
**[[Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Debian|Debian]]
**[[Buildroot|Buildroot]]
**[[Roadmap]]
*'''BSP for Distro'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
a79983d7fed5bba65c0c0fc1cf0fcc81654be1fa
1970
1959
2018-07-13T02:53:04Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:large;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
6c4dc240512084e88399b12f30d1fa16a0fb2c14
1980
1970
2018-07-13T03:29:08Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:large;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
58986d703a40bb0ed3c969a15dd26a48948f6d38
1981
1980
2018-07-13T03:29:21Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:large;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;">Boards</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3399|Firefly-RK3399]]
[[Excavator_sapphire_board|Excavator]]
[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399]
[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[Firefly-RK3288|Firefly-RK3288]]
RK3288-evb
[https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker]
[http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288]
[https://mqmaker.com/miqi/ Miqi]
[http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
| style="width:189px;" |
[[ROC-RK3328-CC|ROC-RK3328-CC]]
[https://www.pine64.org/?product=rock64-media-board-computer ROCK64]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
e2c4e2e9a68e6ac6e0c8fc9d8a006fbd94d48260
1982
1981
2018-07-13T03:34:01Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:large;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
! style="width:189px;" | <p style="text-align: center;"> </p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
d7ba93e92282a72deefc91eef99f9fbbb8264396
1983
1982
2018-07-13T03:34:36Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:large;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
''' Software Feature Supoort [[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
**[[Boot_option|Boot Option]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
ab1e43cdb5935a967e332816270b48225935f4da
1985
1983
2018-07-13T03:39:07Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:large;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
0561293c4ecc55030f1bf21994ab48ebad58fa1d
1986
1985
2018-07-13T03:43:36Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:medium;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:medium;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Document''' =
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
(please click to enter or download)
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
96607d935de4b53ed00eab78c9de1ba0e4aa393b
1988
1986
2018-07-13T03:53:37Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:medium;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:medium;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release:
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
(please click to enter soc detail or download)
Hardware dev board on market:
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
2e71c049e3c4c829cac9a7ac6feddcf91ac87c6c
1989
1988
2018-07-13T03:54:39Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:medium;">Rockchip Linux SDK is an official Linux release. Please contact service@rock-chips.com if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:medium;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: opensource@rock-chips.com
33a865ba7122739b223bd66cc5d3fc2bae05ecc7
U-Boot
0
11
1927
1851
2018-05-11T06:23:25Z
Admin
1
wikitext
text/x-wiki
U-Boot Guide
== Contents ==
[[[hide]]]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Download_U-Boot 1Download U-Boot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Upstream_U-Boot 1.1Upstream U-Boot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Rockchip_U-Boot 1.2Rockchip U-Boot]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Supported_Devices 2Supported Devices]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Configure_U-Boot 3Configure U-Boot]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Build_U-Boot 4Build U-Boot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Get_a_toolchain 4.1Get a toolchain]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Build 4.2Build]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Install_U-Boot 5Install U-Boot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Using_U-Boot_SPL 5.1Using U-Boot SPL]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Support_ATF_with_SPL_FIT_image 5.2Support ATF with SPL FIT image]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Using_Rockchip_miniloader 5.3Using Rockchip miniloader]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Boot_up 5.4Boot up]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Boot_cmd 6Boot cmd]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Distro_boot 6.1Distro boot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#EFI_boot 6.2EFI boot]
*[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Firmware_download_in_U-Boot 7Firmware download in U-Boot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#fastboot 7.1fastboot]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#ums 7.2ums]
**[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#rockusb 7.3rockusb]
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre>
= Build U-Boot =
== Get a toolchain ==
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
== Build ==
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> rk3288_idb.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Support ATF with SPL FIT image ==
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [http://opensource.rock-chips.com/wiki_Partitions partitions] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to boot from eMMC/SD card.
= Boot cmd =
== Distro boot ==
== EFI boot ==
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
== ums ==
== rockusb ==
216fc7cc53ad23f66eb973e529048d91cff56c0b
Rockchip Kernel
0
104
1928
1876
2018-05-11T06:24:17Z
Admin
1
wikitext
text/x-wiki
== Contents ==
[[[hide]]]
*[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Download_Kernel 1Download Kernel]
*[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Supported_SoCs_and_Devices 2Supported SoCs and Devices]
*[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Configure_and_Build 3Configure and Build]
*[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Install_Boot.2Fkernel 4Install Boot/kernel]
**[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Generate_ext2fs.C2.A0boot_partition 4.1Generate ext2fs boot partition]
**[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Generate_fatfs_boot_partition 4.2Generate fatfs boot partition]
***[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Generate_boot.img_in_fatfs 4.2.1Generate boot.img in fatfs]
***[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Update_boot.img_via_U-Boot_in_target 4.2.2Update boot.img via U-Boot in target]
**[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Boot_from_U-Boot 4.3Boot from U-Boot]
= Download Kernel =
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368, [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 1 $partitions
gpt verify mmc 1 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...</pre>
f4257f39e1efb7c31d6e1cd31aac6a7aacb05c6f
File:MPP 开发参考 v0.3.pdf
6
202
1935
2018-05-29T06:36:45Z
Rkvideo
14
MPP development guide(CN)
wikitext
text/x-wiki
MPP development guide(CN)
de2692333f995243db0bafda78dd0bc900ba16b7
Recovery
0
203
1945
2018-06-19T08:28:19Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
1948
1945
2018-06-19T08:43:48Z
Admin
1
wikitext
text/x-wiki
We use buildroot to create recovery ramdisk. recovery image pack kernel, dtb, ramdisk into a Android boot image format.
Please make sure you have built kernel first. Please refer to [[Rockchip_Kernel|build kernel]] page for how to build kernel.
In your linux SDK root directory. Use beclow command to build recovery image
<pre>./mk-recovery
</pre>
It will generate the recovery image in buildroot/out/{config name}/images directory. For example, when you using rockchip_rk3399_recovery. image will be in buildroot/output/rockchip_rk3399_recovery/images/
<pre>buildroot/output/rockchip_rk3399_recovery/images/
├── recovery.img
├── rootfs.cpio
└── rootfs.cpio.gz
</pre>
Please refer to [https://buildroot.org/downloads/manual/manual.html Buildroot user manual] for more detail about Buildroot
7b7451ce0bd580640f180d8ea29aee444fcb20a1
Status Matrix
0
154
1949
1899
2018-06-19T10:08:57Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background-color: orange;" | WIP
| style="background: white;" | N/A
|}
<br/>
== Linux Funciton Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
f9a8607ce02d0e7664d254d292522db65b811674
1950
1949
2018-06-22T09:32:28Z
Kever
2
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: orange;" | WIP
| style="background-color: orange;" | WIP
| style="background: white;" | N/A
|}
<br/>
== Linux Function Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
8309872a829ec4877f19467784d06011d1566443
2002
1950
2018-07-13T06:10:28Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: white;" | N/A
|}
<br/>
== Linux Function Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
7a69ab20e42888f1d66c207398ad3b5bdffcebf2
2003
2002
2018-07-13T06:11:19Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: white;" | N/A
|}
<br/>
== Linux Function Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: orange;" | Without 3A
|-
| style="text-align: left;" | Transform
| style="background: orange;" | WIP
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
e45ab0494b326b3d08baeda18578febd9c97fa60
Boot option
0
116
1951
1833
2018-06-26T03:37:49Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=512
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
65915b8b7824918e986b009e008a66841def2ec4
1952
1951
2018-06-26T03:39:48Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | 0x4000 |
| | | | uboot.img | 0x4000 | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
1c45a070e4c1b53e02f7703c862fb65c37286ec9
1953
1952
2018-06-26T03:44:50Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | |
| stage | | program | Image | |
| number | | name | Name | |
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
4f39ac317ac44893a34bd127b1312c18b7818ef9
1954
1953
2018-06-26T03:47:23Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
e45e344492044f6575ca946bfe831772f8c3a9ff
Roadmap
0
206
1958
2018-07-10T07:25:03Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
1960
1958
2018-07-10T07:40:20Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition
support silent update
support ROS in buildroot SDK
support extern mode and mirror modr in buildroot SDK
support 64bit Debian
= 2018 Q4 =
support incremental update
support ffmpeg decode H264, H265, VP8, VP9, Jpeg
support ffmpeg encode H264, Jpeg, VP8
support ffmepg camera capture
998a922efa5f08951960e66c3fa6b8c2c0480ef8
1961
1960
2018-07-10T07:52:03Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition
support silent update
support ROS in buildroot SDK
support extern mode and mirror modr in buildroot SDK
support 64bit Debian 9 stretch
= 2018 Q4 =
support incremental update
support ffmpeg decode H264, H265, VP8, VP9, Jpeg
support ffmpeg encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
73482c7db83fe3556031d73e6c1cf417bf5c1b9a
1962
1961
2018-07-10T07:53:20Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support 64bit Debian 9 stretch
= 2018 Q4 =
support incremental update
support ffmpeg decode H264, H265, VP8, VP9, Jpeg
support ffmpeg encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
fbbd9f0171a326360d0f0ef2f04e586be399aebd
1963
1962
2018-07-10T07:55:59Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support 64bit Debian 9 stretch
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
1278523d0280f41c2ab6bffdbd4f7f466826d3cd
1964
1963
2018-07-10T08:11:43Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support uboot logo display
support AB partition in buildroot SDK
support silent update in buildroot SDK
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support 64bit Debian 9 stretch
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
3fac148d4d2f93da43ea8c6c967f8524b7890b24
1965
1964
2018-07-10T08:19:02Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support uboot logo display
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
66bcf17cf1f30b932a7adfe1562cd40c90b54cc9
1966
1965
2018-07-10T08:21:52Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support uboot logo display
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
1146205dfc12dc43b9eb90376c5d49d797d6ca87
1967
1966
2018-07-10T08:25:05Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support uboot logo display
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
support pcba test in buildroot SDK
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmepg camera capture
= 2019 Q1 =
support Debian 10 buster
9be239a6690c35a97a24cd1cd37571d697f19734
Download
0
208
1969
2018-07-13T02:45:20Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
1987
1969
2018-07-13T03:45:13Z
Admin
1
wikitext
text/x-wiki
We provide prebuilt for all the board we support.
RK3399: [https://pan.baidu.com/s/1u-BM6U-vNpnmbAciOYvkzQ https://pan.baidu.com/s/1u-BM6U-vNpnmbAciOYvkzQ]
RK3288: [https://pan.baidu.com/s/1zdp1vfBYCDO707rawF19QA https://pan.baidu.com/s/1zdp1vfBYCDO707rawF19QA]
RK3328: [https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw]
6297e2ddb39774cc155f546d54983210c7526315
Devices
0
49
1990
1688
2018-07-13T03:56:42Z
Admin
1
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC]]
15fc2a1b5a6fd6ff9c6edf57b8c2fee8bb337a4e
1991
1990
2018-07-13T03:59:38Z
Admin
1
wikitext
text/x-wiki
Here list the boards that appear at upstream or Rockchip github source code.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: ROCK64pro
Vmars: ROCK960
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC]]
b9cc71221d914394163c27581cf4709902a224cc
1992
1991
2018-07-13T04:14:39Z
Admin
1
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
937cc3347edc1fca663f81d841fb0afa35bcca5f
Changelog
0
209
1993
2018-07-13T04:58:15Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
Cif
0
210
1999
2018-07-13T05:12:01Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
Status Matrix
0
154
2004
2003
2018-07-13T06:13:43Z
Admin
1
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: white;" | N/A
|}
<br/>
== Linux Function Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: lightgreen;" | support 3A
|-
| style="text-align: left;" | Transform
| style="background: lightgreen;" | RGA
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: lightgreen;" | ROS
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
3a05eedf6ccbf46e35f5831f9c6faff49e89491e
Changelog
0
209
2012
1993
2018-07-13T07:16:24Z
Admin
1
wikitext
text/x-wiki
= release-20171213 =
new Boards:
*add rk3288-evb-rk808 board
*add rk3288-evb-rk1608 board
Bugs:
*fix ehci usb audio suspend issue
*dwc2/dwc3 bug fixs
*some v4l2 framework bug fixs(dmabuf import.....)
*fix gcc6/gcc7 compile warning
Features:
*v4l2 cif driver in Linux
*improve rk3036 support
*improve rk-isp10 driver
*update midgard GPU driver to r14p0
Trivial:
*enable CMA for Linux
*enable PSCI/SMC for Linux
= Tested =
*rk3288-evb
*rk3399-excavator
*rk3328-evb
*rk3036-kylin
259b6059f7ad8228ae37f6f5e97345c7f82a94db
2013
2012
2018-07-13T07:16:55Z
Admin
1
wikitext
text/x-wiki
= release-20171213 =
new Boards:
*add rk3288-evb-rk808 board
*add rk3288-evb-rk1608 board
Bugs:
*fix ehci usb audio suspend issue
*dwc2/dwc3 bug fixs
*some v4l2 framework bug fixs(dmabuf import.....)
*fix gcc6/gcc7 compile warning
Features:
*v4l2 cif driver in Linux
*improve rk3036 support
*improve rk-isp10 driver
*update midgard GPU driver to r14p0
Trivial:
*enable CMA for Linux
*enable PSCI/SMC for Linux
Tested
*rk3288-evb
*rk3399-excavator
*rk3328-evb
*rk3036-kylin
ef697b89fb83dc46ee9510f9efcff27f4c2510b3
Camera Engine
0
212
2014
2018-07-13T07:19:16Z
Admin
1
Created page with " "
wikitext
text/x-wiki
9012a5db0e48f472dc89e97fa239cc9970681b37
U-Boot
0
11
2015
1927
2018-07-13T07:38:11Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[rkbin]] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Common Build Steps ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you can use it later as describe at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> idbloader.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [http://opensource.rock-chips.com/wiki_Partitions partitions] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
== rockusb ==
784eee7e8357879b9465bb6cc1a6a0411c8b34e4
2016
2015
2018-07-13T07:39:37Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Common Build Steps ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you can use it later as describe at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries.
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> idbloader.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [http://opensource.rock-chips.com/wiki_Partitions partitions] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
== rockusb ==
e2f8d29f73cfaccfa47421751e7ea2bcdb2962c3
2019
2016
2018-07-13T07:47:08Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Common Build Steps ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre>
'''This image is supposed to flash to offset 0x40.'''
For <var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data:
<pre>cat u-boot.bin >> idbloader.img</pre>
<code>If </code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [http://opensource.rock-chips.com/wiki_Partitions partitions] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
== rockusb ==
d995faf0a673632d2cce96516fa609db57ad44e1
2020
2019
2018-07-13T07:50:35Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Configure U-Boot =
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
= Build U-Boot =
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Common Build Steps ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40 block for boot, so we need to package SPL(or Rockchip miniloader) in IDB format.
Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough for driver to load U-Boot.
== Using U-Boot SPL ==
After build complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var> inside
<pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre>
'''This image is supposed to flash to offset 0x40.'''
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool:
<pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre>
According to the [http://opensource.rock-chips.com/wiki_Partitions partitions] definition, the miniloader should write to offset 0x40 and this uboot.img should write to offset 0x4000.
== Boot up ==
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you.
== fastboot ==
See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
== rockusb ==
4ac9de15d0ee02224db2ec00045623c3c14e01a3
2029
2020
2018-07-13T08:11:52Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= =
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output includin u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
588a99467af046937c811a724e76e9d8f76c2c6f
Mali
0
213
2017
2018-07-13T07:40:51Z
Admin
1
Created page with " === Structure ==="
wikitext
text/x-wiki
=== Structure ===
e31833562bf9ef414e452bff70c4f16c828a6664
2018
2017
2018-07-13T07:41:37Z
Admin
1
wikitext
text/x-wiki
Structure
[[File:Mali gpu.png|RTENOTITLE]]
7847b0056e17321f6c98d1158ac13e2a0207c4ca
2058
2018
2018-07-30T03:39:28Z
Admin
1
wikitext
text/x-wiki
== Get the library of mali ==
[https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali]
you can get mali library and header file from this link.
(tip: if you use debian, you can build the mali deb from dockor)
== Introduction ==
With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards.
The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer.
The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device.
=== RK3288 ===
The Arm Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3399 ===
The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3328 ===
The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and introduces double the scalability of the very popular Mali-400 GPU, to address a broader range of performance points and use cases.
The GPU supports the following graphics standards:
#OpenGL ES 2.0
#OpenGL ES 1.1
#EGL 1.5
support :
wayland, gbm , x11 , fbdev
=== RK3326 ===
The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture.
Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices.
The GPU supports these graphics API standards:
#OpenCL 2.0 Full Profile.
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.2 Specification at Khronos
support :
wayland, gbm
== Structure ==
=== X11 structure in Linux OS ===
https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCEa90efddd27199d6ddbc42e24b93c7506/8070
=== Wayland structure in Linux OS ===
https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069
== Debug ==
1.Look up the load@frequency of GPU
cat /sys/class/devfreq/*.gpu/load
2.Look up the supported mode or supported frquency for GPU
cat /sys/class/devfreq/*.gpu/available_governors
cat /sys/class/devfreq/*.gpu/available_frequencies
3.Set performance(the most high frequency) for GPU
echo performance > /sys/class/devfreq/*.gpu/governor
4.Set frequency for GPU
echo userspace > /sys/class/devfreq/*.gpu/governor
echo * > /sys/class/devfreq/*.gpu/set_freq
(ps: you should do step 2 to ensure the available_frequencies before you set)
5.Get a version
strings libMali.so | grep rk_so_ver
6.Set power always on
echo always_on > /sys/devices/*.gpu/power_policy
== Wayland performance test ==
3D preformance: glmark2-es2-wayland
glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
81968de43b243c10ac8fc41de613b3b98e854c54
2059
2058
2018-07-30T04:53:20Z
Admin
1
wikitext
text/x-wiki
== Get the library of mali ==
[https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali]
you can get mali library and header file from this link.
(tip: if you use debian, you can build the mali deb from dockor)
== Introduction ==
With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards.
The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer.
The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device.
=== RK3288 ===
The Arm Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3399 ===
The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3328 ===
The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and introduces double the scalability of the very popular Mali-400 GPU, to address a broader range of performance points and use cases.
The GPU supports the following graphics standards:
#OpenGL ES 2.0
#OpenGL ES 1.1
#EGL 1.5
support :
wayland, gbm , x11 , fbdev
=== RK3326 ===
The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture.
Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices.
The GPU supports these graphics API standards:
#OpenCL 2.0 Full Profile.
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.2 Specification at Khronos
support :
wayland, gbm
== Structure ==
=== X11 structure in Linux OS ===
[[File:]]
=== Wayland structure in Linux OS ===
[https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069 https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069]
== Debug ==
1.Look up the load@frequency of GPU
cat /sys/class/devfreq/*.gpu/load
2.Look up the supported mode or supported frquency for GPU
cat /sys/class/devfreq/*.gpu/available_governors
cat /sys/class/devfreq/*.gpu/available_frequencies
3.Set performance(the most high frequency) for GPU
echo performance > /sys/class/devfreq/*.gpu/governor
4.Set frequency for GPU
echo userspace > /sys/class/devfreq/*.gpu/governor
echo * > /sys/class/devfreq/*.gpu/set_freq
(ps: you should do step 2 to ensure the available_frequencies before you set)
5.Get a version
strings libMali.so | grep rk_so_ver
6.Set power always on
echo always_on > /sys/devices/*.gpu/power_policy
== Wayland performance test ==
3D preformance: glmark2-es2-wayland
glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
48ddd3c30f984b602f321f16234c9d405232bc58
2060
2059
2018-07-30T04:54:41Z
Admin
1
wikitext
text/x-wiki
== Get the library of mali ==
[https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali]
you can get mali library and header file from this link.
(tip: if you use debian, you can build the mali deb from dockor)
== Introduction ==
With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards.
The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer.
The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device.
=== RK3288 ===
The Arm Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3399 ===
The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3328 ===
The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and introduces double the scalability of the very popular Mali-400 GPU, to address a broader range of performance points and use cases.
The GPU supports the following graphics standards:
#OpenGL ES 2.0
#OpenGL ES 1.1
#EGL 1.5
support :
wayland, gbm , x11 , fbdev
=== RK3326 ===
The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture.
Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices.
The GPU supports these graphics API standards:
#OpenCL 2.0 Full Profile.
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.2 Specification at Khronos
support :
wayland, gbm
== Structure ==
=== X11 structure in Linux OS ===
[[File:]]
=== Wayland structure in Linux OS ===
[[File:]]
== Debug ==
1.Look up the load@frequency of GPU
cat /sys/class/devfreq/*.gpu/load
2.Look up the supported mode or supported frquency for GPU
cat /sys/class/devfreq/*.gpu/available_governors
cat /sys/class/devfreq/*.gpu/available_frequencies
3.Set performance(the most high frequency) for GPU
echo performance > /sys/class/devfreq/*.gpu/governor
4.Set frequency for GPU
echo userspace > /sys/class/devfreq/*.gpu/governor
echo * > /sys/class/devfreq/*.gpu/set_freq
(ps: you should do step 2 to ensure the available_frequencies before you set)
5.Get a version
strings libMali.so | grep rk_so_ver
6.Set power always on
echo always_on > /sys/devices/*.gpu/power_policy
== Wayland performance test ==
3D preformance: glmark2-es2-wayland
glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
b8e78b01592bb6282ad11a1eb76757bcb598bac2
2061
2060
2018-07-30T06:25:06Z
Admin
1
wikitext
text/x-wiki
== Get the library of mali ==
[https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali]
you can get mali library and header file from this link.
(tip: if you use debian, you can build the mali deb from dockor)
== Introduction ==
With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards.
The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer.
The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device.
=== RK3288 ===
The Arm Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3399 ===
The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3328 ===
The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and introduces double the scalability of the very popular Mali-400 GPU, to address a broader range of performance points and use cases.
The GPU supports the following graphics standards:
#OpenGL ES 2.0
#OpenGL ES 1.1
#EGL 1.5
support :
wayland, gbm , x11 , fbdev
=== RK3326 ===
The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture.
Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices.
The GPU supports these graphics API standards:
#OpenCL 2.0 Full Profile.
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.2 Specification at Khronos
support :
wayland, gbm
== Structure ==
=== X11 structure in Linux OS ===
https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCEa90efddd27199d6ddbc42e24b93c7506/8070
=== Wayland structure in Linux OS ===
https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069
== Debug ==
1.Look up the load@frequency of GPU
cat /sys/class/devfreq/*.gpu/load
2.Look up the supported mode or supported frquency for GPU
cat /sys/class/devfreq/*.gpu/available_governors
cat /sys/class/devfreq/*.gpu/available_frequencies
3.Set performance(the most high frequency) for GPU
echo performance > /sys/class/devfreq/*.gpu/governor
4.Set frequency for GPU
echo userspace > /sys/class/devfreq/*.gpu/governor
echo * > /sys/class/devfreq/*.gpu/set_freq
(ps: you should do step 2 to ensure the available_frequencies before you set)
5.Get a version
strings libMali.so | grep rk_so_ver
6.Set power always on
echo always_on > /sys/devices/*.gpu/power_policy
== Wayland performance test ==
3D preformance: glmark2-es2-wayland
glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
81968de43b243c10ac8fc41de613b3b98e854c54
2062
2061
2018-07-30T06:31:21Z
Admin
1
wikitext
text/x-wiki
== Get the library of mali ==
[https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali]
you can get mali library and header file from this link.
(tip: if you use debian, you can build the mali deb from dockor)
== Introduction ==
With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards.
The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer.
The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device.
=== RK3288 ===
The Arm Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3399 ===
The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.
The GPU supports the following graphics standards:
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.0 Specification at Khronos
#OpenCL 1.0 Specification at Khronos,Full Profile specification
#OpenCL 1.1 Specification at Khronos,Full Profile specification
#OpenCL 1.2 Specification at Khronos,Full Profile specification
support :
wayland, gbm , x11 , fbdev
=== RK3328 ===
The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and introduces double the scalability of the very popular Mali-400 GPU, to address a broader range of performance points and use cases.
The GPU supports the following graphics standards:
#OpenGL ES 2.0
#OpenGL ES 1.1
#EGL 1.5
support :
wayland, gbm , x11 , fbdev
=== RK3326 ===
The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture.
Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices.
The GPU supports these graphics API standards:
#OpenCL 2.0 Full Profile.
#OpenGL ES 1.1 Specification at Khronos
#OpenGL ES 2.0 Specification at Khronos
#OpenGL ES 3.2 Specification at Khronos
support :
wayland, gbm
== Structure ==
=== X11 structure in Linux OS ===
[[File:Xserver gpu.png]]
=== Wayland structure in Linux OS ===
[[File:Wayland.png]]
== Debug ==
1.Look up the load@frequency of GPU
cat /sys/class/devfreq/*.gpu/load
2.Look up the supported mode or supported frquency for GPU
cat /sys/class/devfreq/*.gpu/available_governors
cat /sys/class/devfreq/*.gpu/available_frequencies
3.Set performance(the most high frequency) for GPU
echo performance > /sys/class/devfreq/*.gpu/governor
4.Set frequency for GPU
echo userspace > /sys/class/devfreq/*.gpu/governor
echo * > /sys/class/devfreq/*.gpu/set_freq
(ps: you should do step 2 to ensure the available_frequencies before you set)
5.Get a version
strings libMali.so | grep rk_so_ver
6.Set power always on
echo always_on > /sys/devices/*.gpu/power_policy
== Wayland performance test ==
3D preformance: glmark2-es2-wayland
glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
946ea756a596359b153ccba7697c2d11ba3e489f
Wayland
0
214
2021
2018-07-13T07:50:36Z
Admin
1
Created page with " == Weston == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === File:Wayland.png|RTENOTITLE..."
wikitext
text/x-wiki
== Weston ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland.png|RTENOTITLE]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre>export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre>weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
17f3d0284623a0021aa919d559a3e518c9fe40f7
2022
2021
2018-07-13T07:50:58Z
Admin
1
wikitext
text/x-wiki
== Wayland ==
Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right.
=== Structure ===
[[File:Wayland.png|RTENOTITLE]]
=== Weston ===
The Weston reference implementation of a Wayland compositor.
1. run wayland with drm and gpu renderer
<pre>export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100 </pre>
2. run wayland with drm and cpu renderer
<pre>weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre>
<blockquote>
--idle-time: how many seconds the weston got to sleep, it's usefull to test wayland <br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior.
</blockquote>
=== Wayland performance test ===
3D preformance: ''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]
<br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests
f82947281aaf851d2d5cc942945c50d990983a85
Libdrm
0
215
2023
2018-07-13T07:51:44Z
Admin
1
Created page with " == LibDRM == === Structure === [[File:DRM.png|RTENOTITLE]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freed..."
wikitext
text/x-wiki
== LibDRM ==
=== Structure ===
[[File:DRM.png|RTENOTITLE]]
=== Source code ===
mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such <br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI <br/> protocol.
=== Mailing list ===
General developers discussions occur on the dri-devel@lists.freedesktop.org <br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/].
be2531368e8f43ecf22d3d23dd4d0fa3c9415f69
Rockusb
0
122
2027
1782
2018-07-13T08:08:54Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are a few cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*usbplug mode,
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
== Miniloader Rockusb mode ==
Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path, enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- there is no next stage firmware found.
For example, erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
== U-Boot Rockusb mode ==
enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- Run "reboot loader" command in kernel;
- Start with cmd in U-Boot shell
<pre>rockusb 0 mmc 0</pre>
== ==
= USB VID/PID for rockusb =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
5340c0e96e33eab2f5bae736af4399ef82e33402
2028
2027
2018-07-13T08:09:34Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are a few cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*usbplug mode,
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
== Miniloader Rockusb mode ==
Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path, enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- there is no next stage firmware found.
For example, erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
== U-Boot Rockusb mode ==
enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- Run "reboot loader" command in kernel;
- Start with cmd in U-Boot shell
<pre>rockusb 0 mmc 0</pre>
= USB VID/PID for rockusb =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
a4157eee7b78ab4dcb8400ffaad0f51dc9c206df
Rockchip Kernel
0
104
2033
1928
2018-07-13T12:10:41Z
Kever
2
wikitext
text/x-wiki
== Download Kernel ==
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368, [http://opensource.rock-chips.com/wiki_RK3399 RK3399], PX30
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file and used for LInux Distro boot.
'''Rockchip RKIMG format image'''
RKIMG is a format customized by Rockchip from Android boot image, usually only used by kernel developers. It's support by Rockchip U-Boot.
For example, build for rk3399-evb with command:
<pre>make rk3399-evb.img</pre>
The output will be as below, boot.img is ramdisk with rockchip header, kernel is zImage/Image with rockchip header, resource is dtb and boot logo with rockchip header.
<pre>kernel/
├── boot.img
├── kernel.img
└── resource.img</pre>
= Install Boot/kernel for Distro =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...</pre>
99fc560771ec2c05ef2a289f43500933476cee4d
ATF
0
54
2034
1096
2018-07-13T12:13:12Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Upstream U-Boot SPL support for ATF still WIP.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
b53cdc5a989b44da105e741b98ed968d905e2e3f
2035
2034
2018-07-13T12:16:13Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb.
<pre>make u-boot.itb
</pre>
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
d6fd96bacf47e637377eda878da5b2fc7d274b46
2046
2035
2018-07-17T07:26:19Z
Kever
2
Kever moved page [[Atf]] to [[ATF]]
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb.
<pre>make u-boot.itb
</pre>
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write to atf.img offset 0x6000.
d6fd96bacf47e637377eda878da5b2fc7d274b46
2050
2046
2018-07-17T08:44:07Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb.
<pre>make u-boot.itb
</pre>
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to know format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write to trust.img offset 0x6000.
352154e51ba25da03f8be86e299e32746da1ba65
2051
2050
2018-07-17T08:45:00Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399]]
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb.
<pre>make u-boot.itb
</pre>
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to known format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write trust.img to offset 0x6000.
2d861a44b0f80563055f1e6569e1ba6145473ce0
2052
2051
2018-07-17T08:50:12Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399|RK3399]]
RK3328
RK3369
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb.
<pre>make u-boot.itb
</pre>
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to known format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write trust.img to offset 0x6000.
ebc04670cf8dc7a49dcc87da11415de8b984e05f
2053
2052
2018-07-17T08:50:23Z
Kever
2
wikitext
text/x-wiki
= Download ARM Trusted Firmware =
== Rockchip ATF ==
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
== Upstream ATF ==
Get the source code from github:
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
= Supported Devices =
Upstream ARM Trusted Firmware support Rockchip SoCs:
[[RK3399|RK3399]]
RK3328
RK3368
= Build ATF =
Here is a ''mk-atf.sh'' script to build ATF.
<pre>$ cat mk-atf.sh
#!/bin/bash
make realclean
CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre>
Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:
<pre>sudo apt-get install gcc-arm-none-eabi</pre>
We can get bl31.elf <s>bl31.bin</s> when build completed.
Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of bl31.bin, the bl31.bin is not available now.
= Install ATF =
== Using U-Boot SPL FIT image ==
Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb.
<pre>make u-boot.itb
</pre>
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL.
== Using Rockchip miniloader ==
Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.
The ATF is loaded by miniloader, so it should be package to known format for miniloader
<pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre>
According to the [[Partitions|partitions]] definition, write trust.img to offset 0x6000.
87245c8403991c7ade8c739b95734b8c7f01bb34
Main Page
0
16
2038
1989
2018-07-14T02:29:08Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[Atf|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
2a29961f4f0feb94c3a3b3f830774e383625a7d3
2048
2038
2018-07-17T07:27:08Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
e406783527f9cca4ab411c0dee5ad18a7d3ca930
2049
2048
2018-07-17T07:32:09Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Upgradetool|Rockchip Upgrade Tool]]
**[[AndroidTool|Android Tool]]
**[[Rkdeveloptool|rkdeveloptool]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
a05aa4df3ce4e4c55d9f32c93e7adb1ae9d31aa9
2073
2049
2018-09-21T09:09:49Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
44eb174eedb7fdcf69381d68f34a11f60281a287
Atf
0
218
2047
2018-07-17T07:26:19Z
Kever
2
Kever moved page [[Atf]] to [[ATF]]
wikitext
text/x-wiki
#REDIRECT [[ATF]]
b488893d77844a97d6be48fd167115f0b5562764
Download
0
208
2054
1987
2018-07-18T01:48:59Z
Admin
1
wikitext
text/x-wiki
We provide prebuilt for all the board we support.
RK3399: [https://eyun.baidu.com/s/3qZM8TBm https://eyun.<wbr></wbr>baidu.com/s/3qZM8TBm]
RK3288: [https://eyun.baidu.com/s/3qZt2CIK https://eyun.<wbr></wbr>baidu.com/s/3qZt2CIK]
RK3328: [https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw]
b6ab8db0e46d94f1f63605a5beaa829746f6ea6a
2055
2054
2018-07-18T01:51:51Z
Admin
1
wikitext
text/x-wiki
We provide prebuilt for all the board we support.
RK3399: [https://eyun.baidu.com/s/3qZM8TBm https://eyun.<wbr></wbr></wbr>baidu.com/s/3qZM8TBm]
RK3288: [https://eyun.baidu.com/s/3qZt2CIK https://eyun.<wbr></wbr></wbr>baidu.com/s/3qZt2CIK]
RK3328:
35fd0f492adf16d5281b8ec47926cfd6f5855fa8
2064
2055
2018-07-30T08:57:40Z
Admin
1
wikitext
text/x-wiki
We provide prebuilt for all the board we support.
RK3399: [https://eyun.baidu.com/s/3qZM8TBm https://eyun.<wbr></wbr>baidu.com/s/3qZM8TBm]
RK3288: [https://eyun.baidu.com/s/3qZt2CIK https://eyun.<wbr></wbr>baidu.com/s/3qZt2CIK]
RK3328:
e224c60bfa0d531bc822d67b90f73b10d5fc053b
2065
2064
2018-07-30T08:59:15Z
Admin
1
wikitext
text/x-wiki
We provide prebuilt for all the board we support.
RK3399: https://eyun.baidu.com/s/3qZM8TBm
RK3288: https://eyun.baidu.com/s/3qZt2CIK
RK3328:
32d7d32b407cc1fb4b67a834f94ef4b3db871201
Roadmap
0
206
2066
1967
2018-08-07T02:02:06Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support uboot logo display
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
support pcba test in buildroot SDK
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
= 2019 Q1 =
support Debian 10 buster
fd5f866ecef1e1066259f5ad2f7dd193fb416d8e
2067
2066
2018-08-07T02:02:30Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
= 2019 Q1 =
support Debian 10 buster
adfe67465f43a1f5059c5f9e6e1eccd999fd1166
2068
2067
2018-08-07T02:02:56Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support Debian 10 buster
= 2019 Q1 =
support Debian 10 buster
a7f5950d8973b2be24278896b579e224135edb20
2069
2068
2018-08-07T02:03:18Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror modr in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support Debian 10 buster
= =
3c84ac17d2e6247a3775ac498046c008a9780114
2070
2069
2018-08-07T02:03:47Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support key event in QT app
support ROS in buildroot SDK
support extend mode and mirror mode in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support Debian 10 buster
= =
2038c714b0c510b1e64a9699430716bf6a70101f
2071
2070
2018-08-22T10:09:28Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q3 =
support AB partition in buildroot SDK
support silent update in buildroot SDK
support lxqt in buildroot SDK
support ROS in buildroot SDK
support extend mode and mirror mode in buildroot SDK
support screen rotation in buildroot SDK
support 64bit Debian 9 stretch
support rkisp1+camera_engine_rkisp camera framework
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support Debian 10 buster
= =
282fb813fa3d9fc6976b0fb4e9f51b51c8656854
Devices
0
49
2072
1992
2018-09-21T06:33:34Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
af32f13290742d95212365991bff73ab573e5fd2
Tools
0
219
2074
2018-09-21T09:11:02Z
Admin
1
Created page with " Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash. *[[Upgradetool|Rockchip Upgrade Tool]] *[[AndroidTool|Android Tool]] *..."
wikitext
text/x-wiki
Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash.
*[[Upgradetool|Rockchip Upgrade Tool]]
*[[AndroidTool|Android Tool]]
*[[Rkdeveloptool|rkdeveloptool]]
06af2dd3fb05a84f1013b317b329488f293a3200
2075
2074
2018-09-21T09:19:57Z
Kever
2
wikitext
text/x-wiki
Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash.
Please chose a appropriate tool for your project.
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
|-
| Tool Name
| Owner
| OSS
| Description
|-
| [[Upgradetool|Upgrade_tool]]
| Rockchip
| N
| Rockchip official release with in SDK, Linux vesion
|-
| [[Rkdeveloptool|rkdeveloptool]]
| Rockchip
| Y
| open source version of upgrade_tool
|-
| [https://github.com/rockchip-linux/rkflashtool rkflashtool]
| Community
| Y
| open source, maintained by third party
|-
| [[AndroidTool|Android Tool]]
| Rockchip
| N
| official release within SDK, Windows Only
|}
dd99611b5e0983eecb6435f5e7325a93f7d09092
2076
2075
2018-09-21T09:23:28Z
Kever
2
wikitext
text/x-wiki
Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash.
Please chose a appropriate tool for your project.
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
|-
| Tool Name
| Owner
| OSS
| Description
|-
| [[Upgradetool|Upgrade_tool]]
| Rockchip
| N
| Rockchip official release with in SDK, Linux vesion
|-
| [[Rkdeveloptool|rkdeveloptool]]
| Rockchip
| Y
| open source version of upgrade_tool
|-
| [https://github.com/rockchip-linux/rkflashtool rkflashtool]
| Community
| Y
| open source, maintained by third party
|-
| [[AndroidTool|Android Tool]]
| Rockchip
| N
| official release within SDK, Windows Only
|}
If you are using a SD card for firmware storage, then you don't need the Tool for firmware upgrade, for example, you can use 'dd' command in Linux OS.
712059cf0b3e7d1234d736257fff017dc38c4f76
RK3399
0
21
2077
1915
2018-09-28T02:06:21Z
Kever
2
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux User Guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] to develop kernel;
See [[Buildroot|buildroot and]] [[Debian|debian to]] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= RK3399 Devices =
Rockchip: RK3399 [http://opensource.rock-chips.com/wiki_Excavator_sapphire_board Excavator sapphire]
Firefly: [http://opensource.rock-chips.com/wiki_Firefly-RK3399 Firefly-RK3399]
[https://www.theobroma-systems.com/ Theobroma Systems]: [http://opensource.rock-chips.com/wiki_RK3399-Q7 RK3399-Q7]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
1ba80dd2a2ffb718ad1596ce2d2e173b930ee93e
Excavator sapphire board
0
59
2078
1913
2018-09-28T03:42:38Z
Kever
2
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[RK3399 EVB User Guide V2 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
d1c6c40fbc92adc0e7f8af77ac2d5c642a91db79
Excavator sapphire board
0
59
2079
2078
2018-09-28T03:45:40Z
Kever
2
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399挖掘机用户使用指南_V2.0_20180416.pdf|RK3399 EVB User Guide V2 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
589ccdfe6c785a29d3ffb8897c3c6e2a41f4e297
2081
2079
2018-09-28T03:48:41Z
Kever
2
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Upstream =
WIP...
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_V2.0_20180416.pdf|RK3399 EVB User Guide V2 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
b751ac2415106df7d403d2851b7fd9e2c6f98c1b
2082
2081
2018-09-28T03:55:13Z
Kever
2
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_V2.0_20180416.pdf|RK3399 EVB User Guide V2 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
105b21fb922c45cc91eebb0d2b9bf27fbc29eda7
2108
2082
2019-03-05T10:21:04Z
Kever
2
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}
= Rockchip github =
You can download code from github,See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally.
= Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide V3 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= Image =
You can download image directly from below link if available.
= See also =
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
243e2ad206481a47233fa856bcbe14673956c795
File:Rockchip RK3399 Excavator User Guide V2.0 20180416.pdf
6
220
2080
2018-09-28T03:48:08Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip bootflow20181122.jpg
6
221
2083
2018-11-22T09:47:47Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Boot option
0
116
2084
1954
2018-11-22T09:51:28Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow20181122.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
ef6ca2b6cc42d3497e1110736e8574fcae5e7b86
2085
2084
2018-11-22T09:52:53Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
==== idbspl.img ====
U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now.
<pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
ee58e499c4d96404f227d8ad4db66d0b4973a682
2086
2085
2018-11-22T09:54:58Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled:
**idbLoader.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled:
**idbspl.img
**u-boot.bin
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv7 with miniloader
**idbLoader.img
**uboot.img
**boot.img or boot folder with zImage, dtb and exitlinulx inside
**rootfs.img
*For armv8 with SPL:
**idbspl.img
**bl3.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For armv8 with miniloader
**idbLoader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 u-boot.bin
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbspl.img
rkdeveloptool wl 0x4000 bl3.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
cb17a366bc334681a31dd4beac26780427f4aa27
2087
2086
2018-11-22T10:10:05Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288):
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=u-boot.bin of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv7 with miniloader(rk3036, rk3188, rk3288)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with SPL(rk3399):
<pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64
dd if=bl3.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For armv8 with miniloader(rk3399, rk3328)
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
42c46f81dec9a8b7c855861aa7f8c2f19425b76e
2088
2087
2018-11-22T10:11:14Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader
| | Program | SPL |idbspl.img | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | u-boot.bin | |
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
3be533be6e132b5c9dbd3e535b535c545d706bd2
2089
2088
2018-11-23T03:09:58Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 |
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
4ccadc22d4704c937d9b13a6205adf8ca34da1a3
2090
2089
2018-11-23T03:12:17Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_ddr_vx.xx.bin
rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
9bfcfadd1ce0b24f0d9f4ae7392cce58ced3923e
2104
2090
2018-12-12T10:07:37Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre>
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
f26a6d55ec2cca3666fcceb92eee80cdd754c2de
2105
2104
2018-12-12T10:11:41Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage:
- use U-Boot SPL;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin;
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
4a11bca53697a03710a47d3759ba3e40892658d4
U-Boot
0
11
2091
2029
2018-12-06T07:48:54Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= =
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output includin u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
69f60cf9dfcd98b56ab1d2a9325685a3eedb8435
2092
2091
2018-12-06T07:52:58Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= =
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
96213bd77db7b3fa2530284b0ab309808905dd50
2093
2092
2018-12-06T07:55:14Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot.
Upstream U-Boot suppot distro boot.
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
749d95781349115f17c27518928898c82526a1f7
2094
2093
2018-12-06T07:59:37Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone git://git.denx.de/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.denx.de/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot supports:
Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd).
Upstream U-Boot supports:
Linux distro boot(distro_bootcmd).
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
f590d424a385b94501d98fe45e9d8849af9298e8
Roadmap
0
206
2095
2071
2018-12-08T07:29:37Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2018 Q4 =
support incremental update
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support Debian 10 buster
= =
a28be2c88f4eea2604fc722b0f6b61a6fa40172a
2096
2095
2018-12-08T07:30:33Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition in buildroot SDK
support silent update in buildroot SDK
= =
368b67d406c682657e957f5da6fc86092f2377b0
2097
2096
2018-12-08T07:30:44Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition in buildroot SDK
support silent update in buildroot SDK
support lxqt in buildroot SDK
support incremental update
ca18649bc273aab998e0deaf4befb6e53084c1de
2098
2097
2018-12-08T07:30:57Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition in buildroot SDK
support silent update in buildroot SDK
support lxqt in buildroot SDK
support incremental update
263358fe3f5d05c72eb75b08aa57d094abde23de
2099
2098
2018-12-08T07:33:06Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition in buildroot SDK
support silent update in buildroot SDK
= 2019 Q2 =
support lxqt in buildroot SDK
support incremental update
support mpv
850c59377088539b65cb9bfd6bb983c579016ab8
2100
2099
2018-12-08T07:33:38Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition in buildroot SDK
support silent update in buildroot SDK
= 2019 Q2 =
support lxqt in buildroot SDK
support incremental update
support mpv
0fc1de00553010772c878205881220d0d782d6bb
2101
2100
2018-12-08T07:36:30Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition
support silent update
= 2019 Q2 =
support lxqt in buildroot SDK
support incremental update
support mpv
f5663c8aac2f2bf6ccbbff1b2ba7ad72b88d8350
2102
2101
2018-12-08T07:36:42Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition
support silent update
= 2019 Q2 =
support lxqt
support incremental update
support mpv
71bd2c7bd4930d6558a444f4e9064fbd583767f1
2103
2102
2018-12-08T07:37:24Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2018 Q4 =
support Debian 10 buster
= 2019 Q1 =
support ffmpeg hardware decode MPEG1, 2, 4
support ffmpeg hardware encode H264, Jpeg, VP8
support AB partition
support silent update
= 2019 Q2 =
support lxqt
support incremental update
support mpv
288342f31da5513fb8dfb4d5a024529ff5ec60b5
2106
2103
2019-01-11T08:20:52Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2019 Q1 =
support Debian 10 buster
= 2019 Q2 =
support ffmpeg hardware decode MPEG4
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmpeg camera 3A
= 2019 Q3 =
support AB partition
support silent update
support mpv
= 2019 Q4 =
support incremental update
916d73a661fe6a58939a0f393b2b9c2e6e4dc472
2121
2106
2019-04-18T04:14:33Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2019 Q1 =
support Debian 10 buster
= 2019 Q2 =
support Debian 10 buster
support ffmpeg hardware decode MPEG4
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmpeg camera 3A
= 2019 Q3 =
support AB partition
support silent update
support mpv
= 2019 Q4 =
support incremental update
bac75b3daef0f06e2370c2869382ea2e35ff59c8
2122
2121
2019-04-18T04:14:48Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2019 Q2 =
support Debian 10 buster
support ffmpeg hardware decode MPEG4
support ffmpeg hardware encode H264, Jpeg, VP8
support ffmpeg camera 3A
= 2019 Q3 =
support AB partition
support silent update
support mpv
= 2019 Q4 =
support incremental update
f586f9bddd28229bd72626dbd9312690ba7859a7
File:Rockchip RK3399 Excavator User Guide CN V3.0 20190305.pdf
6
222
2107
2019-03-05T10:20:12Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rockchip Kernel
0
104
2109
2033
2019-03-15T03:38:17Z
Kever
2
wikitext
text/x-wiki
== Download Kernel ==
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368, [http://opensource.rock-chips.com/wiki_RK3399 RK3399], PX30
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file and used for LInux Distro boot.
'''Rockchip RKIMG format image'''
RKIMG is a format customized by Rockchip from Android boot image, usually only used by kernel developers. It's support by Rockchip U-Boot.
For example, build for rk3399-evb with command:
<pre>make rk3399-evb.img</pre>
The output will be as below, boot.img is ramdisk with rockchip header, kernel is zImage/Image with rockchip header, resource is dtb and boot logo with rockchip header.
<pre>kernel/
├── boot.img
├── kernel.img
└── resource.img</pre>
= Install Boot/kernel for Distro =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
Folder tree for armv8(rk3399, rk3328):
<pre>boot
├── extlinux
│ └── extlinux.conf
├── Image
└── rk3399-evb.dtb</pre>
Folder tree for armv7(rk3288), rootfs is optional, and we usually use compressed 'zImage':
<pre>boot_rk3288/
├── extlinux
│ └── extlinux.conf
├── rk3288-evb-rk808.dtb
├── rootfs.cpio.gz
└── zImage
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...</pre>
7375a732f98565dbb20d0f375b695bf1af6931dd
File:Px30 mini evb v10 20180528.pdf
6
223
2111
2019-04-18T03:32:14Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rk evb 1808 lp3d178p132sd6 v12 .pdf
6
224
2112
2019-04-18T03:33:06Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:RK EVB RK3399PRO LP3S178P332SD8 V11 20181113 RZF.pdf
6
225
2113
2019-04-18T03:33:36Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip PX30 TRM V1.0 Part1-20180813.pdf
6
228
2116
2019-04-18T03:38:58Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip RK3399Pro Datasheet V1.1 20181214.pdf
6
230
2118
2019-04-18T03:42:36Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip RK3399Pro TRM V1.0 Part1-20190122.pdf
6
231
2119
2019-04-18T03:43:40Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Uboot
0
200
2123
1932
2019-04-22T01:19:17Z
Admin
1
wikitext
text/x-wiki
We recommand use below command to build U-Boot. It will use RK_UBOOT_DEFCONFIG in device/rockchip/.BoardConfig.mk to build U-Boot. Please modify RK_UBOOT_DEFCONFIG if it is not match your board.
In your linux SDK root directory.
<pre>./build.sh uboot
</pre>
Or, you can use a separate command. In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For all other rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the U-Boot:
<pre>./make.sh miqi-rk3288
</pre>
For rk3288-evb-rk1608 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288-rk1608</pre>
For all other rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh rk3288</pre>
For all rk1808 board. Use below command to build the U-Boot:
<pre>./make.sh rk1808</pre>
For px30 board. Use below command to build the U-Boot:
<pre>./make.sh evb-px30</pre>
For all other px30 board. Use below command to build the U-Boot:
<pre>./make.sh px30</pre>
For all RK3399Pro board. Use below command to build the U-Boot:
<pre>./make.sh rk3399pro</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware, Please flash this binary to trust partition
uboot.img: The U-Boot image, Please flash this binary to uboot partition
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [http://opensource.rock-chips.com/wiki_Boot_option boot option] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
38455eef7539955b6640c53b68560e0557721463
2124
2123
2019-04-22T01:21:30Z
Admin
1
wikitext
text/x-wiki
We recommand use below command to build U-Boot. It will use RK_UBOOT_DEFCONFIG in device/rockchip/.BoardConfig.mk to build U-Boot. Please modify RK_UBOOT_DEFCONFIG if it don't match your board.
In your linux SDK root directory.
<pre>./build.sh uboot
</pre>
Or, you can use a separate command. In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For all other rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288 miqi board. Use below command to build the U-Boot:
<pre>./make.sh miqi-rk3288
</pre>
For rk3288-evb-rk1608 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288-rk1608</pre>
For all other rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh rk3288</pre>
For all rk1808 board. Use below command to build the U-Boot:
<pre>./make.sh rk1808</pre>
For px30 board. Use below command to build the U-Boot:
<pre>./make.sh evb-px30</pre>
For all other px30 board. Use below command to build the U-Boot:
<pre>./make.sh px30</pre>
For all RK3399Pro board. Use below command to build the U-Boot:
<pre>./make.sh rk3399pro</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware, Please flash this binary to trust partition
uboot.img: The U-Boot image, Please flash this binary to uboot partition
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [http://opensource.rock-chips.com/wiki_Boot_option boot option] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
7c098f80c9bdc44dc7a95ad268ededa2d85461fc
Kernel
0
201
2125
1943
2019-04-22T01:29:47Z
Admin
1
wikitext
text/x-wiki
We recommand use below command to build kernel. It will use RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS in device/rockchip/.BoardConfig.mk to build kernel. Please modify RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS if it don't match your board.
In your linux SDK root directory.
<pre>./build.sh kernel
</pre>
Or, you can use a separate command. In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328, RK1808, RK3399Pro, PX30
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For rk1808-evb board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk1808-evb-v10.img -j8</pre>
For rk3399pro-evb board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399pro-evb-v11-linux.img -j8</pre>
For px30-evb board. Use below command to build the kernel:
<pre>make ARCH=arm64 px30-evb-ddr3-v10-linux.img -j8</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288 miqi board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miqi.img -j8
</pre>
For rk3288-evb-rk1608 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre>
It will generate boot.img(ARM v8) or zboot.img(ARM v7): it pack kernel image and resource image into Android boot image format. Please flash this binary to boot partition
879634ff710d0a1fbf825e267d0ad8db61c01a4b
RK3288
0
20
2128
1917
2019-04-25T03:06:30Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Documentation =
#[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]]
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= =
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
1160ca97d54afd13b17bf96e13706a7f0c323bda
RK3328
0
24
2129
1920
2019-04-25T03:14:41Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
[[File:3328.png|RTENOTITLE]]
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP4
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" |
|}
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
27b26a8205882f1ac737e680365a8b98cc85e5ca
Main Page
0
16
2130
2073
2019-05-16T05:07:09Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
Datasheet
Schematic&Layout Guide
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
TRM
Datasheet
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
ab2b8afe9f19c5d5f9663e25fbc70a01f598dd74
2133
2130
2019-06-03T02:25:55Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
Schematic&Layout Guide
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
TRM
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
Schematic&Layout Guide
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
7a1dcec1c46714ffb7b5f7b67e1f9257cfba61ed
File:Rockchip RK1808 Datasheet V1.2 20190527.pdf
6
232
2131
2019-06-03T02:24:02Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Px30 hardware reference.zip
6
234
2134
2019-06-03T02:58:53Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rk1808 hardware reference.zip
6
235
2135
2019-06-03T02:59:20Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rk3399pro hardware reference.zip
6
236
2136
2019-06-03T02:59:48Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Main Page
0
16
2137
2133
2019-06-03T03:02:22Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
TRM
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
0bffa725b282e19884de0006adb3ecce26fcd50c
2138
2137
2019-06-03T03:04:08Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
TRM
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
8f29a7f68e2fe144577cd8bcf167ddd6b75bec60
2139
2138
2019-06-03T03:38:50Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
TRM
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
8be0de664f6e2f7af3f3639598f766ebb69bdd22
2156
2139
2019-08-29T01:42:39Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
TRM
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
78065ec4502917bdaf18a5afeb504190439df387
2162
2156
2019-09-04T02:49:56Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
9b8e5987d8d253adf219b20ee35021098e353104
2189
2162
2019-12-25T06:46:57Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
08b6b36e78e7d1ab966505c3f3d6e3773e2287d5
2192
2189
2019-12-25T06:51:51Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.6-20191112.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
84adb5610412e313af3268ca9d34322f8b75fd71
2193
2192
2019-12-25T06:57:25Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.6-20191112.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
0d1ac7e1218e1ba3952d5f97a923ff24558c4ab9
2195
2193
2020-01-02T08:17:54Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
d6d26e5cc2714d1f8b08649d708f9e0b3ee44a92
2197
2195
2020-01-02T08:21:35Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
0d4bf29e1a373b98d8f133da586c8a27447b9b08
Status Matrix
0
154
2140
2004
2019-07-05T02:46:11Z
Kever
2
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: white;" | N/A
| style="background: white;" | N/A
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: white;" | N/A
|}
<br/>
== Linux Function Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="5" style="text-align: left;" | Gstreamer
| style="text-align: left;" | Display
| style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)
|-
| style="text-align: left;" | Decode
| style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg
|-
| style="text-align: left;" | Encode
| style="background: lightgreen;" | h264
|-
| style="text-align: left;" | Camera
| style="background: lightgreen;" | support 3A
|-
| style="text-align: left;" | Transform
| style="background: lightgreen;" | RGA
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: lightgreen;" | ROS
|-
| colspan="2" style="text-align: left;" | FFmpeg
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" | KODI
| style="background: yellow;" | Community
|}
d497a9de41e282e811126e5b084e4c4284a5a174
U-Boot
0
11
2141
2094
2019-08-22T02:16:03Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://gitlab.denx.de/u-boot/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Fennec RK3288 - use fennec-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot supports:
Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd).
Upstream U-Boot supports:
Linux distro boot(distro_bootcmd).
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
4111f08d6a39dab6f95b10b12631ac0b9a79ede2
2173
2141
2019-09-04T03:11:04Z
Admin
1
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://gitlab.denx.de/u-boot/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot supports:
Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd).
Upstream U-Boot supports:
Linux distro boot(distro_bootcmd).
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
4c43542a17bc5f6fd67ad8575df4b730c0a0c000
2180
2173
2019-09-04T06:39:42Z
Kever
2
wikitext
text/x-wiki
= Download U-Boot =
== Upstream U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://gitlab.denx.de/u-boot/u-boot.git</pre>
Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:
<pre>git clone https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git</pre>
== Rockchip U-Boot ==
You can clone the u-boot repository by running:
<pre>git clone https://github.com/rockchip-linux/u-boot.git
</pre>
= Supported Devices =
Upstream U-Boot support Rockchip SoCs:
RK3036, RK3188, [http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], [http://opensource.rock-chips.com/wiki_RK3399 RK3399]
*RK3036 boards supported:
#EVB RK3036 - use evb-rk3036 configuration
#Kylin - use kylin_rk3036 configuration
*RK3288 boards supported:
#EVB RK3288 - use evb-rk3288 configuration
#Firefly RK3288 - use firefly-rk3288 configuration
#Hisense Chromebook - use chromebook_jerry configuration
#Miniarm RK3288 - use miniarm-rk3288 configuration
#PopMetal RK3288 - use popmetal-rk3288 configuration
#Radxa Rock 2 - use rock2 configuration
#ASUS Tinker
*RK3188 boards supported:
#Radxa Rock - use rock configuration
*RK3328 boards supported:
#EVB RK3328 - use evb-rk3328 configuration
*RK3399 boards supported:
#EVB RK3399 - use evb-rk3399 configuration
= Get a toolchain =
If you haven't done so before, get a suitable toolchain installed and add it to your PATH.
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
Or for ARM64
<pre>sudo apt-get install gcc-aarch64-linux-gnu
</pre>
Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1.
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre>
<pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre>
= Build U-Boot =
== Configure U-Boot ==
First you need to choose a correct defconfig for your board;
When you have determined what <board_name> you want to build, configure:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre>
You may need to change the U-Boot function/feature support by modify the defconfig file or,
there is also menuconfig to play with settings if you feel like it:
<pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig
</pre>
== Buid Rockchip U-Boot ==
For convenience, Rockchip provide a script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support.
<pre>├── prebuilts
│ └── gcc
│ └── linux-x86
│ ├── aarch64
│ └── arm
├── rkbin
├── u-boot</pre>
expample for build rk3399:
<pre>./make.sh rk3399</pre>
and use './make.sh -h' for more option.
The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img</pre>
== Build Upstream U-Boot ==
This is common and available for both Upstream U-Boot and Rockchip U-Boot.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
or for ARM64:
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
In order to support debug symbol in ARM DS-5, you may need add ctags in make command:
<pre>CFLAGS='-gdwarf-3'</pre>
The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at [http://opensource.rock-chips.com/wiki_Boot_option boot option].
'''Support ATF with SPL FIT image'''
For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig:
<pre>make u-boot.itb</pre>
Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool.
<pre>├── u-boot
│ ├── u-boot.bin
│ ├── u-boot.itb
│ ├── spl
│ │ └── u-boot-spl.bin
│ └── tpl
│ └── u-boot-tpl.bin</pre>
= Install U-Boot =
See [http://opensource.rock-chips.com/wiki_Boot_option boot option] about how to
- package the available binaries
- flash and boot from eMMC/SD card.
= Boot cmd =
Rockchip U-Boot supports image type:
Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd).
Upstream U-Boot supports image type::
Linux distro boot(distro_bootcmd).
= Firmware download in U-Boot =
In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you.
fastboot: See [http://opensource.rock-chips.com/wiki_Fastboot fastboot]
rockusb: See [[Rockusb|rockusb]]
e75525dfc4614f0239c5ba77d3f8209fabd91c48
Devices
0
49
2142
2072
2019-08-22T02:34:48Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
ASUS: [[ASUS_Tinker|Tinker Board]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Linksprite: [[Fennec|PcDuino9 Fennec]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
f1311470a4e6bbf14689677317692cbabe232f9b
2143
2142
2019-08-22T02:50:11Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
eae4b515d4754981bca4f16d47e42dee35bb27d8
2144
2143
2019-08-22T02:51:19Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Rdaxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
bf6185e0ba0f3b6212508ad23b06d891d25552ce
2145
2144
2019-08-22T03:03:50Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3036 Boards =
Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036]
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Rdaxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
49b218e293463557617e0793c2a7193aeea1b9ef
2146
2145
2019-08-22T03:10:11Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Rdaxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
c545b7e4f15fb2ab37610aad4295d27525369cb4
2147
2146
2019-08-22T03:31:28Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Lenovo:[https://leez.lenovo.com/#/p710 Leez P710]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Rdaxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
6c7c7c4e539afad1d6e656c65d512b64d7827742
2148
2147
2019-08-22T03:32:36Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Rdaxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
Lenovo:[https://leez.lenovo.com/#/p710 Leez P710]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
29173b91834dfc1f57d36278191526a8317d0296
2149
2148
2019-08-22T03:53:00Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Rdaxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
Lenovo: [https://leez.lenovo.com/#/p710 Leez P710]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Vmars: [https://www.96rocks.com/ ROCK960]
[https://wiki.radxa.com/Rockpi4 Rock Pi 4]Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
88fdd9d77b69083923a29b5ba03737f15ca5bbce
2150
2149
2019-08-22T07:15:23Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Radxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
Lenovo: [https://leez.lenovo.com/#/p710 Leez P710]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Vmars: [https://www.96rocks.com/ ROCK960]
Radxa: [https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
867505a566d1658658b48598ebb0790d2e469e13
2151
2150
2019-08-22T07:17:05Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Radxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
Lenovo: [https://leez.lenovo.com/#/p710 Leez P710]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Radxa: [https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Vmars: [https://www.96rocks.com/ ROCK960]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
5bb77b9cfc17415f1629f4f164ee414d93294110
2152
2151
2019-08-22T07:17:30Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
Mqmaker: [[MiQi|MiQi]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Radxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
Lenovo: [https://leez.lenovo.com/#/p710 Leez P710]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Radxa: [https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Vmars: [https://www.96rocks.com/ ROCK960]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
68f34276de3f27d1abe9c60cc57789ee3e64e747
2174
2152
2019-09-04T03:11:41Z
Admin
1
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288]
ASUS: [[ASUS_Tinker|Tinker Board]]
Firefly: [[Firefly-RK3288|Firefly-RK3288]]
PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288]
Radxa: [https://wiki.radxa.com/Rock2 Rock2]
= RK3399 Boards =
Firefly: [[Firefly-RK3399|Firefly-RK3399]]
[http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC]
FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4]
[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4]
Khadas: [https://www.khadas.com/edge Edge-rk3399]
Lenovo: [https://leez.lenovo.com/#/p710 Leez P710]
Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399]
Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]
Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro]
Radxa: [https://wiki.radxa.com/Rockpi4 Rock Pi 4]
Rockchip: RK3399 [[Excavator_sapphire_board|Excavator sapphire]]
[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]]
Vmars: [https://www.96rocks.com/ ROCK960]
= RK3328 Boards =
Pine64: [[ROCK64|ROCK64]]
Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]]
= RK3399Pro Boards =
Rockchip: [http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399]
[https://www.96boards.org/documentation/som/tb-96ai TB-96AI]
= RK1808 Boards =
Rockchip: [http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808]
[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT]
69a20b5eb9fd9a1ed9f78c0519735e9f0b6b7530
RK3399
0
21
2153
2077
2019-08-22T07:19:38Z
Kever
2
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf]
#[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]]
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
#[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]]
= Software =
See [[Linux_user_guide|Linux User Guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] to develop kernel;
See [[Buildroot|buildroot and]] [[Debian|debian to]] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= [http://opensource.rock-chips.com/wiki_Devices#RK3399_Boards RK3399 Devices List] =
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
f43bf079f17578633b3d2950457af3ebb47a3144
2157
2153
2019-08-29T01:43:59Z
Admin
1
wikitext
text/x-wiki
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3399 Soc.png|RTENOTITLE]]
|}
= Overview =
RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
**Frequency is over 1.8GHz (Big cluster)
**L1 cache
***48KB Icache and 32KB Dcache for each A72
***32KB Icache and 32KB Dcache for each A53
**L2 cache
***1024KB for big cluster
***512KB for little cluster
*Internal SRAM
**192KB total
**4KB used by bootrom when bootup
*GPU:
** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
**Supports AFBC (ARM Frame Buffer Compression)
*Display:
**Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
**Dual channel MIPI-DSI (4 lanes per channel)
**eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
**HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
**DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
**Supports Rec.2020 and conversion to Rec.709
*Camera:
** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR3, LPDDR4
*Connectivity:
**PCIe 2.1 (4 full-duplex lanes with 20Gbps)
**Embedded low power MCU for other application
**8 channels I2S supports 8 channels RX or 8 channels TX
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
|}
= Documentation =
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
See [[Linux_user_guide|Linux User Guide]] setup LInux OS generally;
See [[U-Boot|U-Boot]] guide to develop U-Boot;
See [[Rockchip_Kernel|Rockchip kernel]] to develop kernel;
See [[Buildroot|buildroot and]] [[Debian|debian to]] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
|-
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
! style="width: 132px; text-align: center;" | '''Baud speed'''
|-
| style="width: 68px; text-align: center;" | RK3399
| style="width: 181px; text-align: center;" | 1
| style="width: 142px; text-align: center;" | 0
| style="width: 158px; text-align: center;" | 0
| style="width: 146px; text-align: center;" | 1
| style="width: 132px; text-align: center;" | 1500000
|}
= [http://opensource.rock-chips.com/wiki_Devices#RK3399_Boards RK3399 Devices List] =
= References =
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
4ef6b865d0b29983441e6ff28a64cc4c23b74af6
RK3288
0
20
2154
2128
2019-08-22T07:21:38Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3288
| image = [[File:rk3288_soc.png|200px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A17
| ltwo =
| extensions =
| memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L
| gpu = ARM Mali-T764
| vpu =
| apu =
| video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD
| audio = I2S, PCM
| network =
| storage = 4x SD Card, eMMC, NAND
| usb = OTG, 2x Host
| other =
| release_date = June 2014
| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html
}}
Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17] which up to 1.8GHz and ARMMali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore
= Overview =
The RK3288 offers<big><var> </var></big>an extensible, <big><small><tt>leading performance</tt></small></big>, long-standing heritage platform,ideally suited for set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764 which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant interfaces provide a friendly solution for product development. Futhermore, the power consumption is optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications.
= RK3288 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad Core Cortex-A17 up to 1.8GHz
**32KB L1-Cache
**1MB L2-Cache
*Internal SRAM
**96KB total
**First 16KB used by Bootrom when bootup
*GPU:
**ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
**Quad core 3D Graphics engine
**Dual core 2D Graphics engine
**Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
*Display:
**4Kx2K@60fpsHDMI2.0
**Up to 3840X2160 display resolution
**Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
*Camera:
**Support up to 5M pixels
**8bits/10bits/12bits raw data interface
*Memory:
**Dual channels 64-bit DRAM controller
**Support DDR3/DDR3L, LPDDR2, LPDDR3
*Connectivity:
**Embedded 13M ISP and MIPI-CSI2 interface
*Audio:
**I2S/PCM with 8 channels
| style="width: 429px;" | [[File:3288.png|RTENOTITLE]]
|}
= Documentation =
#[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]]
#[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]]
#[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3288
| 1
| 0
| 0
| 1
| 115200
|}
= [http://opensource.rock-chips.com/wiki_Devices#RK3288_Boards RK3288 Devices List] =
= References =
#[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17]
#[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html]
f331bcde9463ba4515135c1247cdc189cefeb9b1
File:RK3399 hardware reference2019.zip
6
237
2155
2019-08-28T10:08:42Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rockchip Kernel
0
104
2158
2109
2019-09-02T10:08:43Z
Kever
2
wikitext
text/x-wiki
== Download Kernel ==
You can clone the rockchip kernel repository from github which is kernel 4.4 based:
<pre>git clone https://github.com/rockchip-linux/kernel.git</pre>
= Supported SoCs and Devices =
Rockchip kernel 4.4 supports:
RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288], [http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368, [http://opensource.rock-chips.com/wiki_RK3399 RK3399], PX30
= Configure and Build =
You will need to use rockchip_linux_defconfig for Linux OS
For ARM v7
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
</pre>
For ARM V8
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre>
Then you can get Image/zImage and dtb file and used for LInux Distro boot.
'''Rockchip RKIMG format image'''
RKIMG is a format customized by Rockchip from Android boot image, usually only used by kernel developers. It's support by Rockchip U-Boot.
For example, build for rk3399-evb with command:
<pre>make rk3399-evb.img</pre>
The output will be as below, boot.img is ramdisk with rockchip header, kernel is zImage/Image with rockchip header, resource is dtb and boot logo with rockchip header.
<pre>kernel/
├── boot.img
├── kernel.img
└── resource.img</pre>
= Install Boot/kernel for Distro =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add [http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf] for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>label rockchip-kernel-4.4
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre>
For armv7
<pre>label rockchip-kernel-4.4
kernel /zImage
fdt /rk3288.dtb
append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition] for rootfs partition and where boot to flash.
After all these files prepare completely, we write the file to the boot partition
Folder tree for armv8(rk3399, rk3328):
<pre>boot
├── extlinux
│ └── extlinux.conf
├── Image
└── rk3399-evb.dtb</pre>
Folder tree for armv7(rk3288), rootfs is optional, and we usually use compressed 'zImage':
<pre>boot_rk3288/
├── extlinux
│ └── extlinux.conf
├── rk3288-evb-rk808.dtb
├── rootfs.cpio.gz
└── zImage
</pre>
== Generate ext2fs boot partition ==
by genext2fs:
<pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre>
According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000.
== Generate fatfs boot partition ==
=== Generate boot.img in fatfs ===
Below commands can generate a fatfs boot.img
<pre>dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
cp -r boot/* tmp/
umount tmp</pre>
Done!
Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition.
=== Update boot.img via U-Boot in target ===
After flash and boot the U-Boot, write the gpt table from default partition table
<pre>gpt write mmc 0 $partitions
gpt verify mmc 0 $partitions</pre>
connect target to PC and start the ums in command line:
<pre>ums 0 mmc 1:6</pre>
We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example).
<pre>sudo mkfs.fat /dev/sdb6
cp -r boot/* /media/machine/9F35-9565/
</pre>
Done!
== Boot from U-Boot ==
If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line:
<pre>gpt write mmc 0 $partitions</pre>
Then boot from eMMC or reset:
<pre>boot</pre>
If everything is OK, you should able to see the U-Boot log like this:
<pre>switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:6...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
205 bytes read in 82 ms (2 KiB/s)
1: upstream-4.10
Retrieving file: /Image
13484040 bytes read in 1833 ms (7 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
61714 bytes read in 54 ms (1.1 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK
Starting kernel ...</pre>
700ce6a8abcec07c284a826ff30e89a521b59ba6
Boot option
0
116
2159
2105
2019-09-04T02:32:41Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
This chapter introduce the generic boot flow for Rockchip Application Processors, including the detail about what image we may use in Rockchip platform for kind of boot path:
- use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project];
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
e977b4b9609baf414d87c8797878eb27980bc5c6
2160
2159
2019-09-04T02:34:06Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
This chapter introduce the generic boot flow for Rockchip Application Processors, including the detail about what image we may use in Rockchip platform for kind of boot path:
- use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project];
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader ===
==== Rockchip Miniloader ====
Package the image from Rockchip binary:
No need to package a idbloader for eMMC because you can use below command to write idbloader from loader:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card.
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== idbloader.img with tpl/spl ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img/idbspl.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
cc59c7c992412d0f13c18a761bb69e99a4ccf78c
2184
2160
2019-11-15T03:46:20Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
This chapter introduce the generic boot flow for Rockchip Application Processors, including the detail about what image we may use in Rockchip platform for kind of boot path:
- use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project];
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(IDBloader) ===
==== idbloader.img ====
idbloader.img is a Rockchip format pre-loader with:
- IDBlock header which is known by Rockchip BootRom;
- DRAM init program which is load by MaskRom and running at internal SRAM;
- loader for next stage which is load by MaskRom and running at DDR SDRAM;
You can get idbloader with below methods.
No need to package a idbloader for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
Package the idbloader.img from Rockchip binary:
For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) .
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== Package the idbloader.img from U-Boot TPL/SPL(which is fully open source): ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
311884bc73e51233683fde3cd6037609bb70cd3e
2185
2184
2019-11-15T03:48:50Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
This chapter introduce the generic boot flow for Rockchip Application Processors, including the detail about what image we may use in Rockchip platform for kind of boot path:
- use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project];
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(IDBloader) ===
==== What is idbloader ====
idbloader.img is a Rockchip format pre-loader with:
- IDBlock header which is known by Rockchip BootRom;
- DRAM init program which is load by MaskRom and running at internal SRAM;
- loader for next stage which is load by MaskRom and running at DDR SDRAM;
You can get idbloader with below methods.
==== Get idbloader for eMMC from Rockchip release loader ====
No need to package a idbloader for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
==== Package the idbloader.img from Rockchip binary: ====
==== For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) . ====
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== Package the idbloader.img from U-Boot TPL/SPL(which is fully open source): ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
4e2cbe6c21bfd9b5eebe35159ce73223b6acce42
2186
2185
2019-11-15T03:49:25Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
This chapter introduce the generic boot flow for Rockchip Application Processors, including the detail about what image we may use in Rockchip platform for kind of boot path:
- use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project];
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(IDBloader) ===
==== What is idbloader ====
idbloader.img is a Rockchip format pre-loader with:
- IDBlock header which is known by Rockchip BootRom;
- DRAM init program which is load by MaskRom and running at internal SRAM;
- loader for next stage which is load by MaskRom and running at DDR SDRAM;
You can get idbloader with below methods.
==== Get idbloader for eMMC from Rockchip release loader ====
No need to package a idbloader for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
==== Package the idbloader.img from Rockchip binary: ====
For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) .
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== Package the idbloader.img from U-Boot TPL/SPL(which is fully open source): ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
0bc16dd2645ab2bd0288b52b3455a61f7211176d
2187
2186
2019-11-15T03:52:05Z
Kever
2
wikitext
text/x-wiki
= Boot introduce =
First, let's make the concept clear, there are many boot stages when we boot up a Linux OS;
Then we need to know about how the image should packaged, where the image locate;
At last, we will explain how to write to different media and boot from there.
Here is Rockchip pre-released binaries which may be mentioned later:
[https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin]
And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here.
== Boot flow ==
This chapter introduce the generic boot flow for Rockchip Application Processors, including the detail about what image we may use in Rockchip platform for kind of boot path:
- use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code;
- use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project];
<pre>+--------+----------------+----------+-------------+---------+
| Boot | Terminology #1 | Actual | Rockchip | Image |
| stage | | program | Image | Location|
| number | | name | Name | (sector)|
+--------+----------------+----------+-------------+---------+
| 1 | Primary | ROM code | BootRom | |
| | Program | | | |
| | Loader | | | |
| | | | | |
| 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader
| | Program | TPL/SPL | | |
| | Loader (SPL) | | | |
| | | | | |
| 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf
| | | | uboot.img | | only used with miniloader
| | | | | |
| | | ATF/TEE | trust.img | 0x6000 | only used with miniloader
| | | | | |
| 4 | - | kernel | boot.img | 0x8000 |
| | | | | |
| 5 | - | rootfs | rootfs.img | 0x40000 |
+--------+----------------+----------+-------------+---------+
</pre>
Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept:
*Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled).
*Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place;
*Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC;
*Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card;
*Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5;
*Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network;
[[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]]
Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option;
== Package option ==
After we know about the boot stages,
Here are the file list before package for stage 2~4:
*From source code:
**From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead),
**From kernel: kernel '''Image/zImage''' file, kernel dtb,
**From ATF: '''bl31.elf''';
*From Rockchip binary:
**ddr, usbplug, miniloader, bl31/op-tee, (all with chip 'rkxx_' prefix and with version '_x.xx.bin' postfix);
We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to package image from those files:
=== The Pre-bootloader(IDBLoader) ===
==== What is idbloader ====
idbloader.img is a Rockchip format pre-loader suppose to work at SoC start up, it contains:
- IDBlock header which is known by Rockchip BootRom;
- DRAM init program which is load by MaskRom and running at internal SRAM;
- loader for next stage which is load by MaskRom and running at DDR SDRAM;
You can get idbloader with below methods.
==== Get idbloader for eMMC from Rockchip release loader ====
No need to package a idbloader.img for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command:
<pre>rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin</pre>
==== Package the idbloader.img from Rockchip binary: ====
For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) .
<pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img
cat rkxx_miniloader_vx.xx.bin >> idbloader.img
</pre>
==== Package the idbloader.img from U-Boot TPL/SPL(which is fully open source): ====
<pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img
cat spl/u-boot-spl.bin >> idbloader.img
</pre>
Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3.
=== U-Boot ===
==== uboot.img ====
When using idbLoader from Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage.
<pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre>
Where SoCs may have different $SYS_TEXT_BASE.
==== u-boot.itb ====
When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section.
<pre>make u-boot.itb
</pre>
Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8).
=== Trust ===
==== trust.img ====
When using idbLoader from Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge.
<pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre>
Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader
=== boot.img ===
This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot.
See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb.
Flash the boot.img to offset 0x8000 which is stage 4.
=== rootfs.img ===
Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image.
=== rkxx_loader_vx.xx.xxx.bin ===
This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly.
This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time.
= Flash and boot from Media device =
Here we introduce how to write image to different Medeia device.
Get image Ready:
*For with SPL:
**idbloader.img
**u-boot.itb
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
*For with miniloader
**idbloader.img
**uboot.img
**trust.img
**boot.img or boot folder with Image, dtb and exitlinulx inside
**rootfs.img
== Boot from eMMC ==
The eMMC is on the hardware board, so we need:
*Get the board into [[Rockusb#Maskrom_mode|maskrom mode]];
*Connect the target to PC with USB cable;
*Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]]
Example commands for flash image to target.
Flash the gpt partition to target:
<pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt</pre>
*For with SPL:
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
*For with miniloader
<pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
</pre>
== Boot from SD/TF Card ==
We can write SD/TF card with Linux PC ''dd'' command very easily.
Insert SD card to PC and we assume the /dev/sdb is the SD card device.
*For with SPL:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=u-boot.itb of=sdb seek=16384
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144
</pre>
*For with miniloader:
<pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64
dd if=uboot.img of=sdb seek=16384
dd if=trust.img of=sdb seek=24576
dd if=boot.img of=sdb seek=32768
dd if=rootfs.img of=sdb seek=262144</pre>
In order to make sure everything has write to SD card before unpluged, recommand to run below command:
<pre>sync</pre>
Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init
</pre>
Write GPT partition table to SD card in U-Boot, and then U-Boot can find the boot partition and run into kernel.
<pre>gpt write mmc 0 $partitions
</pre>
== Boot from U-Disk ==
Same as [[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail.
If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions;
if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly.
Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value.
<pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init
</pre>
== Boot from Network ==
To be continued.
= See also =
[[Rkdeveloptool|rkdeveloptool]]
[[Rockusb|rockusb]]
[[Partitions|Rockchip Linux partition definition]]
9aa7efccb0aa425a813da28c03607e618024f19c
File:Rockchip RK1808 TRM Part1 V1.2--20190826 open source.rar
6
238
2161
2019-09-04T02:48:41Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Popmetal
0
29
2164
1141
2019-09-04T02:57:25Z
Admin
1
wikitext
text/x-wiki
= Image =
= See also =
#[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288]
#[[Firefly-RK3288_reload|Firefly-RK3288_reload]]
#[[Rock2_Square|Rock2_Square]]
#[[Rock2_Full|Rock2_Full]]
#[[MiQi|MiQi]]
#[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
6cbc3366c32b9f5233116e547fb06f8b42c1d39c
2165
2164
2019-09-04T02:58:43Z
Admin
1
wikitext
text/x-wiki
= Image =
= See also =
#[[Firefly-RK3288|Firefly-RK3288]]
#[[Firefly-RK3288_reload|Firefly-RK3288_reload]]
#[[Rock2_Square|Rock2_Square]]
#[[Rock2_Full|Rock2_Full]]
#[[MiQi|MiQi]]
#[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
4087265201a6e671f5a3c651b1a4466c594ed1be
2177
2165
2019-09-04T03:15:15Z
Kever
2
wikitext
text/x-wiki
= Image =
= See also =
#[[Firefly-RK3288|Firefly-RK3288]]
#[[Firefly-RK3288_reload|Firefly-RK3288_reload]]
#[[Rock2_Square|Rock2_Square]]
#[[Rock2_Full|Rock2_Full]]
#[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]]
= References =
1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB]
4317510f0c694054ecc8a9c74bf90dc74d0ef71c
Upstream Kernel
0
19
2175
1703
2019-09-04T03:12:20Z
Admin
1
wikitext
text/x-wiki
Rockchip is working on upstream SoC support to Mainline kernel:
= Download Kernel =
Get the source code from the upstream mainline repository:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
Alternatively you can use linux-rockchip instead which may with some patches not get in mainline:
<pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre>
= Supported SoCs and Devices =
Mainline kernel supports:
RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399|RK3399]]
*RV1108 boards:
<ol style="margin-left: 40px;">
<li>EVB RV1108- use rk1108-evb.dts</li>
</ol>
*RK3036 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3036 - use rk3036-evb.dts</li>
<li>Kylin RK3036- use rk3036-kylin.dts</li>
</ol>
*RK3066 boards:
<ol style="margin-left: 40px;">
<li>Marsboard - use rk3066a-marsboard.dts</li>
<li>Bqcurie2 - use rk3066a-bqcurie2.dts</li>
<li>Rayeager - use rk3066a-rayeager.dts</li>
</ol>
*RK3188 boards:
<ol style="margin-left: 40px;">
<li>Radxa Rock - rk3188-radxarock.dts</li>
</ol>
*RK3288 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3288 - use rk3288-evb-rk808.dts or rk3288-evb-act8846.dts</li>
<li>Firefly RK3288 - use rk3288-firefly.dts</li>
<li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li>
<li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li>
<li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li>
<li>PopMetal RK3288 - use rk3288-popmetal.dts</li>
<li>Radxa Rock 2 - use rk3288-rock2-square.dts</li>
</ol>
*RK3368 boards:
<ol style="margin-left: 40px;">
<li>Geekbok RK3368 - use rk3368-geekbox.dts</li>
<li>Orion r68 - use rk3368-orion-r68-meta.dts</li>
</ol>
*RK3399 boards:
<ol style="margin-left: 40px;">
<li>EVB RK3399 - use rk3399-evb.dts</li>
</ol>
= Configure and Build =
You will need to use multi_v7_defconfig for armv7 SoCs:
<pre>make multi_v7_defconfig</pre>
configure for aarch64:
<pre>make ARCH=arm64 defconfig</pre>
The arm64 defconfig on upstream is more for server, we recommend you to use rockchip_linux_defconfig from Rockchip github
<pre>make ARCH=arm64 rockchip_linux_defconfig</pre>
After configure, build the kernel.
For armv7:
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
For aarch64:
<pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre>
Then you can get Image/zImage and dtb files.
= Install Boot/kernel =
We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside.
<pre>mkdir boot
cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/</pre>
Add extlinux/extlinux.conf for distro boot.
<pre>mkdir boot/extlinux
vi boot/extlinux/extlinux.conf</pre>
<pre>lable kernel-mainline
kernel /Image
fdt /rk3399.dtb
append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre>
You need to change the base address of debug UART, root partition for your board.
Pls reference to [[Partitions|rockchip Linux parttion definition]] for rootfs partition and where boot to flash.
After all these file prepare complete, we write the file to the boot partition
See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate.
= Non-upstream module =
[[Graphics|Rockchp Graphics]]
[[Mpp|Rockchip Video]]
[[Camera|Rockchip Camera]]
c5af2cd1951d9aa131d445be1728ff427705bf94
Board Config
0
160
2176
1796
2019-09-04T03:14:08Z
Kever
2
wikitext
text/x-wiki
= Board config =
== defconfig and dts ==
<span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span>
{| border="1" class="table_style" style="width: 1020px;"
|-
! rowspan="2" style="width: 253px;" | board
! rowspan="2" style="width: 172px;" | uboot
! rowspan="2" style="width: 167px;" | kernel config
! rowspan="2" style="width: 287px;" | kernel dts
! colspan="3" rowspan="1" style="width: 287px;" | Hardware
|-
! style="width: 287px;" | DDR
! style="width: 287px;" | PMIC
! style="width: 287px;" | Boot
|-
| style="width: 153px;" | rk3288-evb
| style="width: 172px;" | evb-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-act8846.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-evb-rk808
| style="width: 172px;" | <del>fennec-rk3288_defconfig</del>
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-evb-rk808-linux.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3288-miniarm
| style="width: 172px;" | tinker-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-miniarm.dts
| style="width: 287px; text-align: center;" | LPDDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly
| style="width: 172px;" | firefly-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | act8846
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-firefly-reload
| style="width: 172px;" | <del>f<var>irefly-rk3288_defconfig</var></del>
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-firefly-reload-linux.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | sd-card boot
|-
| style="width: 153px;" | rk3288-phytec
| style="width: 172px;" | phtec-rk3288_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3288-phytec-rdk.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk818
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3328-evb
| style="width: 172px;" | evb-rk3328_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3328-evb.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk805
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-excavator
| style="width: 172px;" | evb-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-sapphire-excavator-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3399-firefly
| style="width: 172px;" | firefly-rk3399_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3399-firefly-linux.dts
| style="width: 287px; text-align: center;" | LPDDR4
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|-
| style="width: 153px;" | rk3036-kylin
| style="width: 172px;" | kylin-rk3036_defconfig
| style="width: 167px;" | rockchip_linux_defconfig
| style="width: 287px;" | rk3036-kylin.dts
| style="width: 287px; text-align: center;" | DDR3
| style="width: 287px; text-align: center;" | rk808
| style="width: 287px; text-align: center;" | emmc boot
|}
== Config Per Chip ==
{| border="1" class="table_style"
|-
! chip
! Kernel eMMC index
! Kernel SD index
! Uboot eMMC index
! Uboot SD index
! Baud speed
|-
| rk3399
| 1
| 0
| 0
| 1
| 1500000
|-
| rk3328
| 2
| 0
| 0
| 1
| 1500000
|-
| rk3288
| 2
| 0
| 0
| 1
| 115200
|-
| rk3036
| 2
| 0
| 0
| -
| 115200
|}
----
518d78d0541d83d5d9520633e4260ba9b7db599d
Kernel
0
201
2178
2125
2019-09-04T03:15:56Z
Kever
2
wikitext
text/x-wiki
We recommand use below command to build kernel. It will use RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS in device/rockchip/.BoardConfig.mk to build kernel. Please modify RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS if it don't match your board.
In your linux SDK root directory.
<pre>./build.sh kernel
</pre>
Or, you can use a separate command. In your linux SDK root directory. enter to kernel directory.
<pre>cd kernel
</pre>
Config your kernel.
For ARM v7: RK3288
<pre>make ARCH=arm rockchip_linux_defconfig
</pre>
For ARM V8: RK3399, RK3328, RK1808, RK3399Pro, PX30
<pre>make ARCH=arm64 rockchip_linux_defconfig
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8
</pre>
For firefly-rk3399 board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399-firefly-linux.img -j8
</pre>
For rk1808-evb board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk1808-evb-v10.img -j8</pre>
For rk3399pro-evb board. Use below command to build the kernel:
<pre>make ARCH=arm64 rk3399pro-evb-v11-linux.img -j8</pre>
For px30-evb board. Use below command to build the kernel:
<pre>make ARCH=arm64 px30-evb-ddr3-v10-linux.img -j8</pre>
For firefly-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-firefly.img -j8
</pre>
For rk3288-evb-act8846 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-act8846.img -j8
</pre>
For rk3288-evb-rk808 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8
</pre>
For rk3288 tinker board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-miniarm.img -j8
</pre>
For phytec-rk3288 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-phycore-rdk.img -j8
</pre>
For rk3288-evb-rk1608 board. Use below command to build the kernel:
<pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre>
It will generate boot.img(ARM v8) or zboot.img(ARM v7): it pack kernel image and resource image into Android boot image format. Please flash this binary to boot partition
4720c629545c975697a602d815eb7e430702ed45
Uboot
0
200
2179
2124
2019-09-04T03:16:37Z
Kever
2
wikitext
text/x-wiki
We recommand use below command to build U-Boot. It will use RK_UBOOT_DEFCONFIG in device/rockchip/.BoardConfig.mk to build U-Boot. Please modify RK_UBOOT_DEFCONFIG if it don't match your board.
In your linux SDK root directory.
<pre>./build.sh uboot
</pre>
Or, you can use a separate command. In your linux SDK root directory. enter to U-Boot directory.
<pre>cd u-boot
</pre>
For RK3399 sapphire-excavator board, VS-RK3399 board, Rock960 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3399
</pre>
For firefly-rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3399
</pre>
For all other rk3399 board. Use below command to build the U-Boot:
<pre>./make.sh rk3399
</pre>
For firefly-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh firefly-rk3288
</pre>
For rk3288-evb-act8846 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288
</pre>
For rk3288-evb-rk808 board. Use below command to build the U-Boot:
<pre>./make.sh fennec-rk3288
</pre>
For rk3288 tinker board. Use below command to build the U-Boot:
<pre>./make.sh tinker-rk3288
</pre>
For phytec-rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh phycore-rk3288
</pre>
For rk3288-evb-rk1608 board. Use below command to build the U-Boot:
<pre>./make.sh evb-rk3288-rk1608</pre>
For all other rk3288 board. Use below command to build the U-Boot:
<pre>./make.sh rk3288</pre>
For all rk1808 board. Use below command to build the U-Boot:
<pre>./make.sh rk1808</pre>
For px30 board. Use below command to build the U-Boot:
<pre>./make.sh evb-px30</pre>
For all other px30 board. Use below command to build the U-Boot:
<pre>./make.sh px30</pre>
For all RK3399Pro board. Use below command to build the U-Boot:
<pre>./make.sh rk3399pro</pre>
It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.
rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.
trust.img: ARM Trusted Firmware, Please flash this binary to trust partition
uboot.img: The U-Boot image, Please flash this binary to uboot partition
<pre>u-boot/
├── rk3399_loader_v1.09.112.bin
├── trust.img
└── uboot.img
</pre>
Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design. You can refer to [http://opensource.rock-chips.com/wiki_Boot_option boot option] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.
b196635e1b210db0c1909504de35bb76fa458a18
Rockusb
0
122
2181
2028
2019-09-04T06:42:07Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are a few cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*usbplug mode,
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
== Miniloader Rockusb mode ==
Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path, enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- there is no next stage firmware found.
For example, erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
== U-Boot Rockusb mode ==
enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- Run "reboot loader" command in kernel;
- Start with cmd in U-Boot shell
<pre>rockusb 0 mmc 0</pre>
= USB VID/PID for rockusb =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] and [[Upgradetool|upgrade_tool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
b05f28d2fc52df617341ca452a0cd37b8716d031
Roadmap
0
206
2182
2122
2019-10-09T00:56:45Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2019 Q4 =
support MPV
support ffmpeg hardware codec MPEG4 dec, H264 enc, Jpeg enc, VP8 enc
484ba85ea970a5f73ed1b1ec1da78bfaebea825e
2183
2182
2019-10-09T00:57:23Z
Admin
1
wikitext
text/x-wiki
This page discribe the road map of Rockchip Linux SDK. It is just let people know our plan in advance. not promise. It may change without inform you. Please understand.
= 2019 Q4 =
support mpv
support ffmpeg hardware codec MPEG4 dec, H264 enc, Jpeg enc, VP8 enc
64e086ff2f6b3aca8b366377521619ea6a65cf86
File:Rockchip RK3288 Datasheet V2.7-20191227.pdf
6
242
2194
2020-01-02T08:17:19Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip PX30 Datasheet V1.4-20191227.pdf
6
243
2196
2020-01-02T08:20:57Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip RK3328 Datasheet V1.3-20200310.pdf
6
244
2198
2020-03-30T03:45:24Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Main Page
0
16
2199
2197
2020-03-30T03:46:20Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
4c4c71dfedeb5f87ad0edc073a355d96eb943f60
2201
2199
2020-03-30T03:52:56Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
abd6ffcc6d4cd18ea5186e52db964cf563f78e40
2202
2201
2020-03-30T03:54:50Z
Admin
1
wikitext
text/x-wiki
<span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span>
<span style="font-size:small;">Rockchip Linux SDK is an official Linux release. Please contact '''service@rock-chips.com''' if you need business support. This page is for open source community. Please go to [[Linux_SDK|here]] if you want to use Rockchip Linux SDK</span>
*[[Download|<span style="font-size:large;">Firmware Download</span>]]
**<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span>
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
e6083756abb70a98e3dbddd94c83817687a879c3
2205
2202
2020-09-22T02:57:25Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Rockchip provide open source software on Github including fully support for Linux Based OS:
*Github: [https://github.com/rockchip-linux rockchip-linux]
You can also find software for Rockchip SoCs from Upstream:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
e0dbc28866803dffe07a52b3698de74746fddf15
2207
2205
2020-09-22T03:11:58Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
f67d12f209ca595ea7ee2c8a915b8385fb26dc10
2227
2207
2020-09-30T00:59:15Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chrombook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
98ba74459d7d43dda0c607a6b96bf1dcf94cfda9
2228
2227
2020-09-30T01:00:02Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chromebook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
01a0ac05dad69f352b3ccf1d0c7afcc355c90c9b
2235
2228
2022-10-13T07:43:48Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chromebook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3568|RK3568]]
| style="width:286px;" |
Quad-core Cortex-A55 up to 2.0GHz
Mali-G52 GPU
1TOPS NPU
| style="width:189px;" |
[[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.pdf|TRM]]
[[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.pdf|Datasheet]]
[[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
ad58918005f466b03283f0ecc742e7cb6ce3fe3b
2236
2235
2022-10-13T07:45:44Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chromebook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3568|RK3568]]
| style="width:286px;" |
Quad-core Cortex-A55 up to 2.0GHz
Mali-G52 GPU
1TOPS NPU
| style="width:189px;" |
[[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF|TRM]]
[[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.PDF|Datasheet]]
[[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
8ff1a2546f01ccf2490ef2f624d4313f293c541c
2240
2236
2023-02-24T01:44:42Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chromebook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK1808
|
Dual-core Cortex-A35 CPU
NPU up to 3.0TOPs
|
[[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]]
[[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]]
[[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="text-align: center;" | RK3399Pro
|
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
NPU up to 3.0TOPS
|
TRM
Datasheet
[[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3568|RK3568]]
| style="width:286px;" |
Quad-core Cortex-A55 up to 2.0GHz
Mali-G52 GPU
1TOPS NPU
| style="width:189px;" |
[[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF|TRM]]
[[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.PDF|Datasheet]]
[[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
9958907ce22b3c7ae69de80180001a5af0a2358e
2242
2240
2023-10-24T06:19:58Z
Admin
1
wikitext
text/x-wiki
= '''Source code''' =
Community source code:
*Github: [https://github.com/rockchip-linux rockchip-linux]
Mainline sourcecode:
*[https://www.kernel.org/ Linux kernel]
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot]
*[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware]
*[https://github.com/OP-TEE/optee_os OP-TEE OS]
If you are using a Chromebook with Rockchip SoC, you can use:
*[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS Coreboot]
*[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel]
= '''Hardware Support''' =
Rockchip official hardware document release(please click to enter soc detail or download):
{| border="1" cellpadding="0" cellspacing="0" class="table_style"
|-
! style="width:92px;" | <p style="text-align: center;">SoC</p>
! style="width:286px;" | <p style="text-align: center;">Description</p>
! style="width:189px;" | <p style="text-align: center;">Download</p>
|-
| style="text-align: center;" | PX30
|
Quad-core Cortex-A35 CPU
Mali-G31 MP2 GPU
|
TRM
[[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]]
[[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p>
| style="width:286px;" |
Quad-core Cortex-A17 CPU
MALI-T760 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]]
[[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p>
| style="width:286px;" |
Quad-core Cortex-A53 CPU
MALI-450 MP2 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]]
[[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]]
[[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3399|RK3399]]
| style="width:286px;" |
Dual-core Cortex-A72
Quad-core Cortex-A53 CPU
MALI-T860 MP4 GPU
| style="width:189px;" |
[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]]
[[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]]
[[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]]
|-
| style="width: 92px; text-align: center;" | [[RK3568|RK3568]]
| style="width:286px;" |
Quad-core Cortex-A55 up to 2.0GHz
Mali-G52 GPU
1TOPS NPU
| style="width:189px;" |
[[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF|TRM]]
[[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.PDF|Datasheet]]
[[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]]
|}
<span style="font-size:medium;">'''Hardware dev board on market:'''</span>
[[Devices|Device List]]
= '''Software development ''' =
*'''Software Feature Supoort status'''
**'''[[Status_Matrix|Status_Matrix]]'''
*'''BSP'''
**[[U-Boot|U-Boot]]
**[[Rockchip_Kernel|Kernel]]
**[[ATF|ARM Trusted Firmware]]
**[[Distribution|Distro]]
*'''Graphics and Multimedia user guide'''
**[[Graphics|Graphics and Display]]
**[[Mpp|Multimedia--Video Codec]]
**[[Rockchip-isp1|Multimedia--Camera]]
*'''Tool and Firmware Upgrade'''
**[[Boot_option|Boot Option]]
**[[Rockusb|Rockusb]]
**[[Tools|Firmware Upgrade Tools]]
'''<span style="font-size:xx-large;">Feedback</span>'''
Any question about software module on github, please ask at issue page of github project.
If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website,
Email-to: '''opensource@rock-chips.com'''
2b8774296206063ba93525bb329713fb00d60d78
File:Rockchip RK3399 Datasheet V2.1-20200323.pdf
6
245
2200
2020-03-30T03:52:12Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rockusb
0
122
2203
2181
2020-06-30T00:44:58Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are a few cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*usbplug mode,
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Available command in this mode:
'db' command: system init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
'ul' command: 'db' command and download idbloader into eMMC 0x40;
'uf' command: 'db' command and download image in update.img into eMMC;
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
== Miniloader Rockusb mode ==
Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path, enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- there is no next stage firmware found.
For example, erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
== U-Boot Rockusb mode ==
enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- Run "reboot loader" command in kernel;
- Start with cmd in U-Boot shell
<pre>rockusb 0 mmc 0</pre>
= USB VID/PID for rockusb =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] and [[Upgradetool|upgrade_tool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
351bff3cbbc8e9a2230b97616ec29245d0cb0908
2204
2203
2020-06-30T00:46:16Z
Kever
2
wikitext
text/x-wiki
= Introduce =
Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs.
= Get into Rockusb =
There are a few cases for Rockchip SoCs to get into Rockusb.
*maskrom mode, no firmware found on chip, target run maskrom rockusb driver;
*usbplug mode,
*miniLoader rockusb mode, target run miniloader rockusb driver.
*uboot rockusb mode.
== Maskrom mode ==
If there is no bootable firmware found on board, the SoC will run Rockusb driver automatically, we call it Bootrom mode or Maskrom mode.
If firmware is at somewhere of the board, in order to get into this mode, we can do something to prevent cpu read the firmware successful:
*for SD-card, unplug the SD-card;
*for eMMC, short the eMMC clock to GND;
*for NAND, short the data line or clock line;
*for SPI, short the spi signal to GND;
*By "reboot bootrom" command in U-Boot and Kernel, WIP.
*erase bootable region with non-bootable data in eMMC or other media devices
In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size.
Available command in this mode:
'db' command: system init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size.
'ul' command: 'db' command and download idbloader into eMMC 0x40;
'uf' command: 'db' command and download image in update.img into eMMC;
all the other commands need to access DRAM should be after 'db' command.
== Usbplug mode ==
The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode.
== Miniloader Rockusb mode ==
Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path, enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- there is no next stage firmware found.
For example, erase bootable data in U-Boot:
<pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre>
- run "reboot loader" command in kernel.
NOTE: In this miniloader rockusb, the offset for rkdeveloptool is not the physical address,
the physical offset 0~0x2000 is no able to write by wl command;
'''The physical address of offset in ''wl'' command is the offset plus 0x2000''', eg:
"rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address.
== U-Boot Rockusb mode ==
enter this mode with:
- Press 'recovery' or 'volumn +' key pressed when power up;
- Run "reboot loader" command in kernel;
- Start with cmd in U-Boot shell
<pre>rockusb 0 mmc 0</pre>
= USB VID/PID for rockusb =
Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different.
Rockusb product ID:
*RK3288: 0x320a
*RK3328: 0x320c
*RK3399: 0x330c
Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect.
= Firmware download =
[[Rkdeveloptool|rkdeveloptool]] and [[Upgradetool|upgrade_tool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB.
Please follow the steps for boot from eMMC for how to use the tool.
a12ac77ba261c06be2c49aa154a1644b3c0248b0
File:Rockchip RK1808 TRM Part1 V1.2--20190826 open source.zip
6
246
2206
2020-09-22T03:09:38Z
Kever
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Distribution
0
105
2208
1293
2020-09-22T03:14:01Z
Admin
1
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= See also =
[[Yocto|yocto]]
[[Buildroot|buildroot]]
68373440f7724c22416e47aea83d42d74f75e285
2214
2208
2020-09-22T09:09:17Z
Kever
2
wikitext
text/x-wiki
The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly.
We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki.
There are also many other districbutions support by community or developers.
= ARCH Linux =
Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook:
[https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip]
[https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/]
and source code here:
[https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru]
= Fedora =
Here is the guide from Fedora to support RK3288 chromebook:
[https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook]
= See also =
c10020956ebc50eb89197277e517a43314e13c24
Rockchip-isp1
0
171
2210
1799
2020-09-22T03:56:12Z
Admin
1
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The applcation for plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media controller must be setup in a proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver should do things like the following commands:
<pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though
# please note that they can be changed during runtime.
media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]'
media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]'
media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]'
# Set pad formats
## rkisp1 source pad : format\selection
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]'
media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## rkisp1 sink pad : format\selection
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]'
media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]'
## sensor source pad format
media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]'
# Set link(Assume there are two sensors in one mipi-phy)
## Enable sensor1
media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]'
## Disable sensor2
media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'
# start capture
v4l2-ctl xxxx
or
gst-launch rkcamsrc xxxx
</pre>
==== 3A ====
[https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1]
=== ===
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
047d9698648da57d3f1adf0adcbed97b562d3ade
2216
2210
2020-09-23T09:56:32Z
Kever
2
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The v4l-utils tool and applications <br/> The v4l-utils tool is a V4L2 development kit maintained by Linuxtv[1] . It provides a set <br/> of V4L2 and media framework related tools for configuring V4L2 sub-device properties, <br/> testing V4L2 devices, and providing development libraries such as libv4l2.so and so on. <br/> This chapter mainly introduces two command-line tools in v4l-utils: media-ctl and v4l2- <br/> ctl <br/> media-ctl, used to view and configure topology <br/> v4l2-ctl, used to configure v4l2 controls, capture frames, set cif, isp, sensor <br/> parameters <br/> The format code of different versions of v4l-utils will be different, especially mbus-fmt <br/> part. The version used in this document is v4l-utils-1.14.1 integrated in Linux SDK.
==== 3A ====
[https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1]
=== ===
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
f5ca1262c24bce3a3181a3486a806913174b24de
2217
2216
2020-09-23T09:57:08Z
Kever
2
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The v4l-utils tool and applications <br/> The v4l-utils tool is a V4L2 development kit maintained by Linuxtv[1] . It provides a set <br/> of V4L2 and media framework related tools for configuring V4L2 sub-device properties, <br/> testing V4L2 devices, and providing development libraries such as libv4l2.so and so on. <br/> This chapter mainly introduces two command-line tools in v4l-utils: media-ctl and v4l2- <br/> ctl <br/> media-ctl, used to view and configure topology <br/> v4l2-ctl, used to configure v4l2 controls, capture frames, set cif, isp, sensor <br/> parameters <br/> The format code of different versions of v4l-utils will be different, especially mbus-fmt <br/> part. The version used in this document is v4l-utils-1.14.1 integrated in Linux SDK.
==== 3A ====
[https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1]
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
f2a926b34bac5ad9ba57d10632eed94a0da6dde0
2218
2217
2020-09-23T09:57:42Z
Kever
2
wikitext
text/x-wiki
= Overview =
The document below provide basical informations about the rockchip-isp1 driver driver and Image Signal Processing block on Rockchip SoC with examples and details.
= Hardware =
More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY" , but they are only available under NDA.
== ISP Details ==
ISP comprises with:
*MIPI serial camera interface
*Image Signal Processing
*Many Image Enhancement Blocks
*Crop
*Resize
=== Block diagram ===
The completed block diagram can not be pasted from datasheet to here, below diagram is an abstract version:
[[File:Block.png|1200px|Blocks.png]]
== MIPI Details ==
There are three D-PHY instances in rockchip SoC, their connection are shown as following figure:
[[File:Phy.png|600px|Phy.png]]
= Software =
== Driver ==
rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver rk-isp10, it use Media Controller framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices.
=== Media Controller Basics ===
Please read below link carefully, especially if you don't have use it before.
[https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html]
=== Block diagram ===
==== File view ====
[[File:Code.png|1200px|Code.png]]
==== V4l2 view ====
[[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]]
{| border="1" class="table_style" style="width: 768px;"
|-
! style="width: 165px;" | Name
! style="width: 131px;" | Type
! style="width: 450px;" | Description
|-
| style="width: 165px;" | rkisp1_mainpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RAW Bayer; Max resolution: 4416*3312; Support: Crop
|-
| style="width: 165px;" | rkisp1_selfpath
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop
|-
| style="width: 165px;" | rkisp1-isp-subdev
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
Internal isp blocks; Support: source/sink pad crop.
The format on sink pad should be equal to sensor input format, the size should be equal/less than sensor input size.
The format on source pad should be equal to vdev output format if output format is raw bayer, otherwise it should be YUYV2X8. The size should be equal/less than sink pad size.
|-
| style="width: 165px;" | rockchip-sy-mipi-dphy
| style="width: 131px;" | v4l2_subdev
| style="width: 450px;" |
MIPI-DPHY Configure
|-
| style="width: 165px;" | rkisp1-statistics
| style="width: 131px;" | v4l2_vdev, capture
| style="width: 450px;" |
Provide Image color Statistics information.
|-
| style="width: 165px;" | rkisp1-input-params
| style="width: 131px;" | v4l2_vdev, output
| style="width: 450px;" |
Accept params for AWB, BLC...... Image enhancement blcoks
|}
=== Sensor Driver Requirement ===
The sensor driver should implement controls in the following table.
{| border="1" class="table_style"
|-
! Controls
! Description
! R/W
! Needed by
|-
| V4L2_CID_VBLANK
| <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by <code>V4L2_CID_PIXEL_RATE</code> control in the same sub-device.</span>
| R
| Ae
|-
| V4L2_CID_HBLANK
| <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span>
| R
| Ae
|-
| V4L2_CID_EXPOSURE
| <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span>
| R/W
| Ae
|-
| V4L2_CID_ANALOGUE_GAIN
| <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span>
| R/W
| Ae
|-
| V4L2_CID_DIGITAL_GAIN
| <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span>
| R/W
| Ae
|-
| V4L2_CID_PIXEL_RATE
| <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span>
| R
| Ae
|-
| V4L2_CID_LINK_FREQ
| <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span>
| R
| mipi-dphy
|}
=== Devicetree Bindings ===
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt]
[https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt]
== Linux ==
=== User applications ===
The v4l-utils tool and applications <br/> The v4l-utils tool is a V4L2 development kit maintained by Linuxtv[1] . It provides a set <br/> of V4L2 and media framework related tools for configuring V4L2 sub-device properties, <br/> testing V4L2 devices, and providing development libraries such as libv4l2.so and so on. <br/> This chapter mainly introduces two command-line tools in v4l-utils: media-ctl and v4l2- <br/> ctl <br/> media-ctl, used to view and configure topology <br/> v4l2-ctl, used to configure v4l2 controls, capture frames, set cif, isp, sensor <br/> parameters <br/> The format code of different versions of v4l-utils will be different, especially mbus-fmt <br/> part. The version used in this document is v4l-utils-1.14.1 integrated in Linux SDK.
== Android ==
=== <del>Camera Hal3</del> ===
[https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3]
= Reproduce =
The driver currently can run on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Debian/Yocto SDK.
== Source Code ==
=== Kernel ===
#4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches]
#[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP]
=== Sensor Driver ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X]
=== Device Tree ===
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board]
#[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload]
== Test Command ==
<pre>cat /sys/class/video4linux/video*/name
# get self_path videox and main_path videox+1
gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre>
= Others =
== Topology ==
<pre>Media device information
------------------------
driver rkisp1
model rkisp1
serial
bus info
hw revision 0x0
driver version 0.0.0
Device topology
- entity 1: rkisp1-isp-subdev (4 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
<- "rockchip-sy-mipi-dphy":1 [ENABLED]
pad1: Sink
<- "rkisp1-input-params":0 [ENABLED]
pad2: Source
[fmt:SBGGR10_1X10/800x600 field:none
crop.bounds:(0,0)/800x600
crop:(0,0)/800x600]
-> "rkisp1_selfpath":0 [ENABLED]
-> "rkisp1_mainpath":0 [ENABLED]
pad3: Source
-> "rkisp1-statistics":0 [ENABLED]
- entity 2: rkisp1_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 3: rkisp1_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "rkisp1-isp-subdev":2 [ENABLED]
- entity 4: rkisp1-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "rkisp1-isp-subdev":3 [ENABLED]
- entity 5: rkisp1-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "rkisp1-isp-subdev":1 [ENABLED]
- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SRGGB10_1X10/3280x2464 field:none]
<- "imx219 2-0010":0 [ENABLED]
pad1: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rkisp1-isp-subdev":0 [ENABLED]
- entity 7: imx219 2-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SRGGB10_1X10/3280x2464 field:none]
-> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre>
03de0131ecfb16c0ad69f39187ab12e5028c1c63
Roadmap
0
206
2213
2183
2020-09-22T05:59:06Z
Admin
1
Replaced content with " "
wikitext
text/x-wiki
60a2661a5a6ef4c018940f317ddb28d94b9b6a23
Status Matrix
0
154
2219
2140
2020-09-24T00:57:19Z
Kever
2
wikitext
text/x-wiki
== Rockchip 4.4 Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | TSADC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Mipi-CSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| colspan="2" style="text-align: left;" | ISP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: rgb(255, 255, 255);" | N/A
|-
| colspan="2" style="text-align: left;" | DVP/CIF
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: rgb(255, 255, 255);" | N/A
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | SUPPORT
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Mainline Kernel Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| rowspan="2" style="text-align: left;" | ADC
| style="text-align: left;" | SARADC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | TSADC1
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Clocks
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CPUFreq
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Crypto
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | CSI/ISP
| style="background: lightgreen;" | 4.14
| style="background: orange;" | WIP
| N/A
|-
| colspan="2" style="text-align: left;" | CIF
| style="background: orange;" | WIP
| style="background: orange;" | WIP
| style="background: orange;" | WIP
|-
| rowspan="8" style="text-align: left;" | Display (DRM)
| style="text-align: left;" | RGB
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| style="text-align: left;" | EDP
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | LVDS
| style="background: red;" | NO
| style="background: red;" | NO
| N/A
|-
| style="text-align: left;" | MIPI DSI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| N/A
|-
| style="text-align: left;" | CVBS
| N/A
| N/A
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | VGA
| N/A
| N/A
| N/A
|-
| style="text-align: left;" | HDMI
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
|-
| style="text-align: left;" | CEC
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: darkgreen;" | INCOMPLETE
|-
| colspan="2" style="text-align: left;" | DMA
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | DDR DVFS
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| rowspan="2" style="text-align: left;" | Ethernet
| style="text-align: left;" | GMAC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| style="text-align: left;" | EMAC
| N/A
| N/A
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | I2S
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left" | I2C
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | MsgBox
| N/A
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Pinctrl
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PWM
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | Power Domain
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | PCIE
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | SD / SDIO / MMC
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPDIF
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SPI
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | SUSPEND / RESUME
| style="background: darkgreen;" | INCOMPLETE
| style="background: darkgreen;" | INCOMPLETE
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | USB OTG
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | TYPEC
| style="background-color: lightgreen;" | 4.14
| N/A
| N/A
|-
| colspan="2" style="text-align: left;" | Watchdog
| style="background: lightgreen;" | 4.14
| style="background: lightgreen;" | 4.4
| style="background: lightgreen;" | 4.14
|-
| colspan="2" style="text-align: left;" | GPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | VPU
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|-
| colspan="2" style="text-align: left;" | RGA
| style="background: lightgreen;" | 4.15
| style="background: lightgreen;" | 4.15
| style="background: orange;" | WIP
|-
| colspan="2" style="text-align: left;" | IEP
| style="background: red;" | NO
| style="background: red;" | NO
| style="background: red;" | NO
|}
== Linux SDK CHIP Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! RK3399
! RK3288
! RK3328
|-
| colspan="2" style="text-align: left;" | Debian
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | Buildroot
| style="background-color: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="5" style="text-align: left;" | Decode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP8
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | VP9
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| rowspan="3" style="text-align: left;" | Encode
| style="text-align: left;" | H264
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | H265
| style="background-color: white;" | N/A
| style="background: white;" | N/A
| style="background-color: lightgreen;" | SUPPORT
|-
| style="text-align: left;" | JPEG
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
| style="background: lightgreen;" | SUPPORT
|-
| colspan="2" style="text-align: left;" | ISP(3A)
| style="background: lightgreen;" | SUPPORT
| style="background-color: lightgreen;" | SUPPORT
| style="background: white;" | N/A
|}
<br/>
== Linux Function Status Matrix ==
{| class="wikitable" style="text-align: center; width: 100%;"
|-
! colspan="2" style="width: 10%; text-align: left;" | Model
! Status
|-
| rowspan="2" style="text-align: left;" | GPU
| style="text-align: left;" | GLES
| style="background: lightgreen;" | libmali
|-
| style="text-align: left;" | OPENCL
| style="background: lightgreen;" | libmali
|-
| colspan="2" rowspan="1" style="text-align: left;" | QT
| style="background: lightgreen;" | QT 5.x
|-
| colspan="2" style="text-align: left;" |
Browser(HTML5 Accelerate)
| style="background: yellow;" | Community
|-
| colspan="2" style="text-align: left;" |
IOT(Third part Could Service)
| style="background: lightgreen;" | ROS
|-
| colspan="2" style="text-align: left;" | MPV
| style="background: yellow;" | Community
|}
6b0b847c6a68c2d52f37a485410c7bb003259185
Devices
0
49
2220
2174
2020-09-24T01:01:10Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: Vyasa-RK3288
ASUS: Tinker Board
Firefly: Firefly-RK3288
PHYTEC: phyCore-RK3288
Pico-ITX: RICO-3288
Radxa: Rock2
= RK3399 Boards =
Firefly: Firefly-RK3399
ROC-RK3399-PC
FriendlyARM: Nano PC T4
NanoPi NEO4
NanoPi M4
Khadas: Edge-rk3399
Lenovo: Leez P710
Orange Pi: Orangepi-rk3399
Pico-ITX: RICO-3399
Pine64: ROCK64pro
Radxa: Rock Pi 4
Rockchip: RK3399 Excavator sapphire
[https://www.theobroma-systems.com/ Theobroma Systems]: RK3399-Q7
Vmars: ROCK960
= RK3328 Boards =
Pine64: ROCK64
Firefly: ROC-RK3328-CC
= RK3399Pro Boards =
Rockchip: TB-RK3399
TB-96AI
= RK1808 Boards =
Rockchip: TB-RK1808
TB-96AIoT
39fdf323bcea4a1b01e2231215df317ba0e96cd4
2225
2220
2020-09-24T07:47:24Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on market.
= RK3288 Boards =
Amarula Electronics: Vyasa-RK3288
ASUS: Tinker Board
Firefly: Firefly-RK3288
PHYTEC: phyCore-RK3288
Pico-ITX: RICO-3288
Radxa: Rock2
= RK3399 Boards =
Firefly: Firefly-RK3399
ROC-RK3399-PC
FriendlyARM: Nano PC T4
NanoPi NEO4
NanoPi M4
Khadas: Edge-rk3399
Lenovo: Leez P710
Orange Pi: Orangepi-rk3399
Pico-ITX: RICO-3399
Pine64: ROCK64pro
Radxa: Rock Pi 4
Rockchip: RK3399 Excavator sapphire
Theobroma Systems: RK3399-Q7
Vmars: ROCK960
= RK3328 Boards =
Pine64: ROCK64
Firefly: ROC-RK3328-CC
= RK3399Pro Boards =
Rockchip: TB-RK3399
TB-96AI
= RK1808 Boards =
Rockchip: TB-RK1808
TB-96AIoT
70af8eb2b6c371a80e30efa4f5a5d868551b28fd
2226
2225
2020-09-24T07:50:23Z
Kever
2
wikitext
text/x-wiki
Here list the sbc boards that purchase available on the market, they are maintained by the board vendors.
= RK3288 Boards =
Amarula Electronics: Vyasa-RK3288
ASUS: Tinker Board
Firefly: Firefly-RK3288
PHYTEC: phyCore-RK3288
Pico-ITX: RICO-3288
Radxa: Rock2
= RK3399 Boards =
Firefly: Firefly-RK3399
ROC-RK3399-PC
FriendlyARM: Nano PC T4
NanoPi NEO4
NanoPi M4
Khadas: Edge-rk3399
Lenovo: Leez P710
Orange Pi: Orangepi-rk3399
Pico-ITX: RICO-3399
Pine64: ROCK64pro
Radxa: Rock Pi 4
Rockchip: RK3399 Excavator sapphire
Theobroma Systems: RK3399-Q7
Vmars: ROCK960
= RK3328 Boards =
Pine64: ROCK64
Firefly: ROC-RK3328-CC
= RK3399Pro Boards =
Rockchip: TB-RK3399
TB-96AI
= RK1808 Boards =
Rockchip: TB-RK1808
TB-96AIoT
0bc30c984ba5cf79626714d04bd8f0b7ebb9c14f
Excavator sapphire board
0
59
2221
2108
2020-09-24T01:24:16Z
Admin
1
wikitext
text/x-wiki
= {{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}Documentation =
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide V3 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
0cbcd1db8a32600882584410f52283d3c6a4abe8
2222
2221
2020-09-24T01:24:47Z
Admin
1
wikitext
text/x-wiki
== {{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}Documentation ==
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide V3 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
a4c26a2e013eb2d06247261df5bd89b0ce0bbea9
2223
2222
2020-09-24T01:25:07Z
Admin
1
wikitext
text/x-wiki
== {{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}} ==
== Documentation ==
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide V3 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
fb54eb209a1f5f333a661b5fa72db64f86989d42
2224
2223
2020-09-24T01:26:42Z
Admin
1
wikitext
text/x-wiki
{{Infobox
| image = [[File:RK3399 Excavator Board.jpg |500px]]
}}Excavator sapphire is a RK3399 EVB.
== Documentation ==
[[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]]
[[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide V3 CN]]
[[Media:Design_documents.rar|Design documents]]
[[Media:Component_datasheet.rar|Component datasheet]]
== RK3399 Excavator EVB ==
[[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]]
[[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]]
[[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]]
= References =
[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html]
To buy this board call: 4007700590 Email: service@rock-chips.com
555f0f0199e30f20cf93becbef61367d621c7daf
Mpp
0
109
2229
2021-07-12T02:25:00Z
Kever
2
wikitext
text/x-wiki
Multimedia Overview on Rockchip platform
'''MPP: Media Process Platform '''is the video codec parser and<span class="_Tgc">Hardware Abstraction Layer library for the Rockchip platforms.</span>
== Get source code ==
You can get mpp source from git.
<code>git clone -b release [https://github.com/rockchip-linux/mpp.git https://github.com/rockchip-linux/mpp.git]</code>
== Build ==
=== Unix/Linux ===
If you are using a Debian relation distribution, there is a debian build rulles in the source code. You may check the debian directory for the future information.
You may use the following command to build the deb packages, supporting architecture are: armhf, arm64.
<code>DEB_BUILD_OPTIONS="parallel=4 nocheck" dpkg-buildpackage -a<arch></code>
Please install the all requirement cross compiling tools and Debian packages tools before.
You may use the following command to build it in the board:
cmake -DRKPLATFORM=ON -DHAVE_DRM=ON && make
=== Android ===
Build in Android need android ndk package, usually we use android-ndk-r10d.<br/> you can download ndk from google website and modify ndk path in make-Android.bash. Auto path is<br/> /home/pub/ndk/android-ndk-r10d.<br/> Then, Carry out build/andorid/xx/make-Android.bash. There may be some errors in the first execution<br/> Re-execution make-Android.bash the probelm can be resolved.
=== Windows ===
Carry out build/xx-x86_64/build-all.bat and make-solutions.bat
== System Diagram ==
<span style="font-family:courier new,courier,monospace"> </span>
<span style="font-family:courier new,courier,monospace"> +---------------------------------------+<br/> | |<br/> | OpenMax / libva |<br/> | |<br/> +---------------------------------------+</span>
<span style="font-family:courier new,courier,monospace"> +-------------------- MPP ----------------------+<br/> | |<br/> | +-------------------------+ +--------+ |<br/> | | | | | |<br/> | | MPI / MPP | | | |<br/> | | buffer queue manage | | | |<br/> | | | | | |<br/> | +-------------------------+ | | |<br/> | | | |<br/> | +-------------------------+ | | |<br/> | | | | | |<br/> | | codec | | OSAL | |<br/> | | decoder / encoder | | | |<br/> | | | | | |<br/> | +-------------------------+ | | |<br/> | | | |<br/> | +-----------+ +-----------+ | | |<br/> | | | | | | | |<br/> | | parser | | HAL | | | |<br/> | | control | | reg_gen | | | |<br/> | | | | | | | |<br/> | +-----------+ +-----------+ +--------| |<br/> | |<br/> +-------------------- MPP ----------------------+</span>
<span style="font-family:courier new,courier,monospace"> +---------------------------------------+<br/> | |<br/> | kernel |<br/> | RK vcodec_service / v4l2 |<br/> | |<br/> +---------------------------------------+</span>
== About Mpp ==
The mpp is a middleware library for Rockchip SoC's cross platform media process.<br/> The main purpose of mpp is to provide very high performance, high flexibility<br/> and expansibility on multimedia (mainly video and image) process.
The design target of mpp is to connect different Rockchip hardware kernel driver<br/> and different userspace application.
Rockchip has two sets of hardware kernel driver.
The first one is vcodec_service/vpu_service/mpp_service which is a high<br/> performance stateless frame base hardware kernel driver. This driver supports<br/> all available codecs that hardware can provide. This driver is used on Android/<br/> Linux.
The second one is v4l2 driver which is developed for ChromeOS. It currently<br/> supports H.264/H.265/vp8/vp9. This driver is used on ChomeOS/Linux.
Mpp plans to support serval userspace applications including OpenMax, libva.
== Mpp Feature ==
1. Cross Platform<br/> The target OS platform including Android, Linux, ChromeOS and windows. Mpp uses<br/> cmake to compile on different platform.
2. High Performance<br/> Mpp supports sync / async interface to reduce the time blocked in interface. And<br/> mpp internally make hardware and software run parallelly. When hardware is<br/> running sofware will prepare next hardware task at the same time.
3. High Flexibility<br/> mpi (Media Process Interface) is easy to extend by different control function.<br/> The input/output element packet/frame/buffer is easy to extend different<br/> components.
== Mpp Components ==
=== OSAL (Operation System Abstraction Layer) ===
This module shutters the differences between different operation systems and<br/> provide basic components including memory, time, thread, log and hardware memory<br/> allocator.
=== MPI (Media Process Interface) / MPP ===
This module is on charge of interaction with external user. Mpi layer has two<br/> ways for user. The simple way - User can use put/get packet/frame function set.<br/> The advanced way - User has to config MppTask and use dequeue/enqueue funciton<br/> set to communicate with mpp. MppTask can carry different meta data and complete<br/> complex work.
=== Codec (encoder / decoder) ===
This module implements the high efficiency internal work flow. The codec module<br/> provides a general call flow for different video format. Software process will<br/> be separated from hardware specified process. The software will communicate with<br/> hardware with a common task interface which combines the buffer information and<br/> codec specified infomation.
=== Parser/Controller and hal (Hardware Abstraction Layer) ===
This layer provides the implement function call of different video format and<br/> different hardware. For decoder parser provide the video stream parse function<br/> and output format related syntax structure to hal. The hal will translate the<br/> syntax structure to register set on different hardware. Current hal supports<br/> vcodec_service kernel driver and plan to support v4l2 driver later.
== Mpp Kernel Driver ==
Rockchip has two sets of hardware kernel driver.
The first one is vcodec_service/vpu_service/mpp_service which is a high<br/> performance stateless frame base hardware kernel driver. This driver supports<br/> all available codecs that hardware can provide. This driver is used on Android/<br/> Linux.
Here is the vcodec_service kernel driver framework diagram.
<span style="font-family:courier new,courier,monospace"> +-------------+ +-------------+ +-------------+<br/> | client A | | client B | | client C |<br/> +-------------+ +-------------+ +-------------+</span>
<span style="font-family:courier new,courier,monospace">userspace<br/> +------------------------------------------------------------------------------+<br/> kernel</span>
<span style="font-family:courier new,courier,monospace"> +-------------+ +-------------+ +-------------+<br/> | session A | | session B | | session C |<br/> +-------------+ +-------------+ +-------------+<br/> | | | | | |<br/> waiting done waiting done waiting done<br/> | | | | | |<br/> +---+---+ +---+---+ +---+---+ +---+---+ +---+---+<br/> | task3 | | task0 | | task1 | | task0 | | task0 |<br/> +---+---+ +-------+ +-------+ +-------+ +---+---+<br/> | |<br/> +---+---+ +---+---+<br/> | task2 | | task1 |<br/> +-------+ +-------+<br/> +-----------+<br/> | service |<br/> +---------+-----------+---------+<br/> | | |<br/> waiting running done<br/> | | |<br/> +-----+-----+ +-----+-----+ +-----+-----+<br/> | task A2 | | task A1 | | task C0 |<br/> +-----+-----+ +-----------+ +-----+-----+<br/> | |<br/> +-----+-----+ +-----+-----+<br/> | task B1 | | task C1 |<br/> +-----+-----+ +-----+-----+<br/> | |<br/> +-----+-----+ +-----+-----+<br/> | task A3 | | task A0 |<br/> +-----------+ +-----+-----+<br/> |<br/> +-----+-----+<br/> | task B0 |<br/> +-----------+</span>
The principle of this design is to separate user task handling and hardware<br/> resource management and minimize the kernel serial process time between two<br/> hardware process operation.
The driver uses session as communication channel. Each userspace client (client)<br/> will have a kernel session. Client will commit tasks to session. Then hardware<br/> is managed by service (vpu_service/vcodec_service). Service will provide the<br/> ability to process tasks in sessions.
When client commits a task to kernel the task will be set to waiting status and<br/> link to both session waiting list and service waiting list. Then service will<br/> get task from waiting list to running list and run. When hardware finishs a task<br/> the task will be moved to done list and put to both service done list and<br/> session done list. Finally client will get the finished task from session.
== Mpp Buffer ==
Mpp buffer is the warpper of the buffer used by hardware. Hardware usually can<br/> not use the buffer malloc by cpu. Then we design MppBuffer for different memory<br/> allocator on different platform. Currently it is designed for ion buffer on<br/> Android and drm buffer on Linux. Later may support vb2_buffer in v4l2 devices.
In order to manage buffer usage in different user mpp buffer module introduces<br/> MppBufferGroup as bufffer manager. All MppBuffer will connect to its manager.<br/> MppBufferGroup provides allocator service and buffer reuse ability.
Different MppBufferGroup has different allocator. And besides normal malloc/free<br/> function the allocator can also accept buffer from external file descriptor.
MppBufferGroup has two lists, unused buffer list and used buffer list. When<br/> buffer is free buffer will not be released immediately. Buffer will be moved to<br/> unused list for later reuse. There is a good reason for doing so. When video<br/> resolution comes to 4K the buffer size will be above 12M. It will take a long<br/> time to allocate buffer and generate map table for it. So reusing the buffer<br/> will save the allocate/free time.
Here is the diagram of Mpp buffer status transaction.
<span style="font-family:courier new,courier,monospace"> +----------+ +---------+<br/> | create | | commit |<br/> +-----+----+ +----+----+<br/> | |<br/> | |<br/> | +----v----+<br/> +----------+ unused <-----------+<br/> | +---------+ |<br/> | | | |<br/> | | | |<br/> +-----v----+ | | +-----+----+<br/> | malloc | | | | free |<br/> +----------+ | | +----------+<br/> | inc_ref | +---------+ | dec_ref |<br/> +-----+----+ +-----^----+<br/> | |<br/> | |<br/> | +---------+ |<br/> +----------> used +-----------+<br/> +---------+<br/> | |<br/> | |<br/> | |<br/> | |<br/> | |<br/> +----^----+<br/> |<br/> |<br/> +----+----+<br/> | import |<br/> +---------+</span>
== Mpp Task ==
Mpp task is the contain component for transaction with external user in advanced<br/> mode. The target of advanced mode is to provide flexible, multiple input/output<br/> content for extension.
Mpp task has mpp_meta as the rich content carrier. Mpp meta uses KEY and value<br/> pair for extension. One task can carries multiple data into or out of mpp.<br/> The typical case is encoder with OSD and motion detection. One task may contain<br/> OSD buffer, motion detection buffer, frame buffer and stream buffer as input and<br/> output stream buffer and motion detection buffer with data. And this case can<br/> also be used on decoder if decoder wants to output some side information.
1. Mpp task queue<br/> Mpp task queue is the manager of tasks. Due to user may incorrectly use the task<br/> we choose the design that hold all task inside mpp. Task queue will create and<br/> release task. But task queue will not interact with user directly. We use port<br/> and task status to control the transaction.
2. Mpp port<br/> Mpp port is the transaction interface of task queue. External user and internal<br/> worker thread will use mpp_port_poll / mpp_port_dequeue / mpp_port_enqueue<br/> interface to poll / dequeue / enqueue the task task queue. Mpp advanced mode is<br/> using port to connect external user, interface storage and internal process<br/> thread. Each task queue has two port: input port and output port. And from a<br/> global view the task will always flow from input port to output port.
3. Mpp task status<br/> There are four status for one task. Mpp use list_head to represent the status.
INPUT_PORT : Initial status for input port user to dequeue. Or when output port<br/> successfully enqueue a task then the task is on this status.
INPUT_HOLD : When input port user successfully dequeue a task then the task is<br/> on this status.
OUTPUT_PORT: When input port user successfully enqueue a task then the task is<br/> on OUTPUT_PORT status. And this task is ready for dequeue from<br/> output port.
OUTPUT_HOLD: When output port user successfully dequeue a task then the task is<br/> on this status.
4. Mpp task / port transaction<br/> There are three transaction functions on a port: poll / dequeue / enqueue.<br/> When port user call the transaction function task will be transfer from one<br/> status to next status. The status transform flow is unidirectional from input<br/> port to output port.
The overall relationship graph of task / port / status is shown below.
<span style="font-family:courier new,courier,monospace"> 1. task queue<br/> +------------------------------+<br/> | |<br/> +----+----+ +--------------+ +----+----+<br/> | 4 | | 3 | | 2.1 |<br/> +--------+ dequeue <--+ status <--+ enqueue <---------+<br/> | | | | INPUT_PORT | | | |<br/> | +---------+ | | +---------+ |<br/> +------v-----+ | | +--------------+ | | +------+------+<br/> | 3 | | 2 | | 2 | | 3 |<br/> | status | | input | | output | | status |<br/> | INPUT_HOLD | | port | | port | | OUTPUT_HOLD |<br/> | | | | | | | |<br/> +------+-----+ | | +--------------+ | | +------^------+<br/> | +---------+ | 3 | +---------+ |<br/> | | 4 | | status | | 2.1 | |<br/> +--------> enqueue +--> INPUT_PORT +--> dequeue +---------+<br/> | | | | | |<br/> +----+----+ +--------------+ -----+----+<br/> | |<br/> +------------------------------+</span>
On advanced mode mpp uses two task queue: input task queue and output task<br/> queue.<br/> Input task queue connects input side external user to internal worker thread.<br/> Output task queue connects internal worker thread to output side external user.<br/> Then there will be three threads to parallelize internal process and external<br/> transation. This will maximize mpp efficiency.
The work flow is demonstrated as below graph.
<span style="font-family:courier new,courier,monospace"> +-------------------+ +-------------------+<br/> | input side user | | output side user |<br/> +----^---------+----+ +----^---------+----+<br/> | | | |<br/> +----+----+----v----+ +----+----+----v----+<br/> | dequeue | enqueue | | dequeue | enqueue |<br/> +----^----+----+----+ +----^----+----+----+<br/> | | | |<br/> +----+---------+----+ MPP +----+---------v----+<br/> +---+ input port +-----------+ output port +---+<br/> | +-------------------+ +-------------------+ |<br/> | | input task queue | | output task queue | |<br/> | +-------------------+ +-------------------+ |<br/> | | output port | | input port | |<br/> | +----+---------^----+ +----+---------^----+ |<br/> | | | | | |<br/> | +----v----+----+----+ +----v----+----+----+ |<br/> | | dequeue | enqueue | | dequeue | enqueue | |<br/> | +----+----+----^----+ +----+----+----^----+ |<br/> | | | | | |<br/> | +----v---------+---------------------v---------+----+ |<br/> | | internal work thread | |<br/> | +---------------------------------------------------+ |<br/> | |<br/> +-----------------------------------------------------------+</span>
= =
= Mpp User Guide =
== Multithreading ==
Mpp don't directly provide thread api, so you should use the correspoding<br/> os interface.<br/> About multithreading encode/decode, something must be done.
1. Resources should apply for multiple copies rather than one, To avoid the<br/> competition of resources
2. The timing of resource release is different, release resource should be done after<br/> a frmae or a packet end to used.
For specific details about multithreading, see test/mpi_enc_test and test/mpi_dec_test.
== param set ==
Mpp nees some param to decide work mode, param include MPP, OSAL, CODEC, ISP, HAL <br/> and Mode module cmd.
All cmd is define in Inc/Rk_mpi_cmd.h
Usually cmd is set after mpp_create and mpp_init, but work mode should be set<br/> before mpp_init. you need to indicate work mode(single or advanced) to help mpp cho<br/> se thread.
<pre>typedef enum {
MPP_OSAL_CMD_BASE = CMD_MODULE_OSAL,
MPP_OSAL_CMD_END,
MPP_CMD_BASE = CMD_MODULE_MPP,
MPP_ENABLE_DEINTERLACE,
MPP_SET_INPUT_BLOCK,
MPP_SET_OUTPUT_BLOCK,
MPP_CMD_END,
MPP_CODEC_CMD_BASE = CMD_MODULE_CODEC,
MPP_CODEC_GET_FRAME_INFO,
MPP_CODEC_CMD_END,
MPP_DEC_CMD_BASE = CMD_MODULE_CODEC | CMD_CTX_ID_DEC,
MPP_DEC_SET_FRAME_INFO, /* vpu api legacy control for buffer slot dimension init */
MPP_DEC_SET_EXT_BUF_GROUP, /* IMPORTANT: set external buffer group to mpp decoder */
MPP_DEC_SET_INFO_CHANGE_READY,
MPP_DEC_SET_INTERNAL_PTS_ENABLE,
MPP_DEC_SET_PARSER_SPLIT_MODE, /* Need to setup before init */
MPP_DEC_SET_PARSER_FAST_MODE, /* Need to setup before init */
MPP_DEC_GET_STREAM_COUNT,
MPP_DEC_GET_VPUMEM_USED_COUNT,
MPP_DEC_SET_VC1_EXTRA_DATA,
MPP_DEC_SET_OUTPUT_FORMAT,
MPP_DEC_CMD_END,
MPP_ENC_CMD_BASE = CMD_MODULE_CODEC | CMD_CTX_ID_ENC,
/* basic encoder setup control */
MPP_ENC_SET_ALL_CFG, /* set MppEncCfgSet structure */
MPP_ENC_GET_ALL_CFG, /* get MppEncCfgSet structure */
MPP_ENC_SET_PREP_CFG, /* set MppEncPrepCfg structure */
MPP_ENC_GET_PREP_CFG, /* get MppEncPrepCfg structure */
MPP_ENC_SET_RC_CFG, /* set MppEncRcCfg structure */
MPP_ENC_GET_RC_CFG, /* get MppEncRcCfg structure */
MPP_ENC_SET_CODEC_CFG, /* set MppEncCodecCfg structure */
MPP_ENC_GET_CODEC_CFG, /* get MppEncCodecCfg structure */
/* runtime encoder setup control */
MPP_ENC_SET_IDR_FRAME, /* next frame will be encoded as intra frame */
MPP_ENC_SET_OSD_PLT_CFG, /* set OSD palette, parameter should be pointer to
MppEncOSDPlt */
MPP_ENC_SET_OSD_DATA_CFG, /* set OSD data with at most 8 regions, parameter
should be pointer to MppEncOSDData */
MPP_ENC_GET_OSD_CFG,
MPP_ENC_SET_EXTRA_INFO,
MPP_ENC_GET_EXTRA_INFO, /* get vps / sps / pps from hal */
MPP_ENC_SET_SEI_CFG, /* SEI: Supplement Enhancemant Information, parameter
is MppSeiMode */
MPP_ENC_GET_SEI_DATA, /* SEI: Supplement Enhancemant Information, parameter
is MppPacket */
MPP_ENC_CMD_END,
MPP_ISP_CMD_BASE = CMD_MODULE_CODEC | CMD_CTX_ID_ISP,
MPP_ISP_CMD_END,
MPP_HAL_CMD_BASE = CMD_MODULE_HAL,
MPP_HAL_CMD_END,
MPI_CMD_BUTT,
} MpiCmd;
you can call like this.
ret = mpi->control(ctx, xx_xx_cmd, &data);
</pre>
== Rate Control ==
Mpp support three mode of rate control, CBR(constant bitrate),VBR(variable <br/> bitrate) and CQP(FIX QP). Mpp control rate according to the set of three <br/> parameters, include MppEncCodecCfg, MppEncPrepCfg and MppEncRcCfg.
<pre>MppEncPrepCfg
+-----------+----------------------------------------+
| param | effect |
| | |
+----------------------------------------------------+
| | |
| format | input pix format, such as NV12, RGB24|
| | |
+----------------------------------------------------+
| | |
| width | wdith of picture |
| | |
+----------------------------------------------------+
| | |
| height | height of picture |
| | |
+----------------------------------------------------+
| | |
| stride | span of a line in picture, must align|
| | in 8 |
+-----------+----------------------------------------+
MppEncRcCfg
+-----------+----------------------------------------+
| param | effect |
| | |
+----------------------------------------------------+
| | |
| rc_mode | 0:CBR |
| | 1:VBR |
+----------------------------------------------------+
| | |
| bps_target| target bitrate |
| | |
+----------------------------------------------------+
| | |
|bps_max/min max/min value of target bitrate |
| | |
+----------------------------------------------------+
| | |
|fps_in_num | input frame rate / denorm |
| /denorm | |
+----------------------------------------------------+
| | |
|fps_out_num output frame rate / denorm |
| /denorm | |
+----------------------------------------------------+
| gop | group of picture, usually set as 4 * |
| | fps |
+-----------+----------------------------------------+
| | |
| uality | profile of VBR mode, worst,worse, |
| | medium,better,best and CQP,note that |
| | it will let qp_max/qp_min lose effect. |
| | |
| | {31, 51}, // worst |
| | {28, 46}, // worse |
| | {24, 42}, // medium |
| | {20, 39}, // better |
| | {16, 35}, // best |
| | {0, 0}, // cqp |
| | cqp means use qp_init,qp will be const |
| | in each frame. |
+-----------+----------------------------------------+
MppEncCodecCfg
+-----------+----------------------------------------+
| param | effect |
| | |
+----------------------------------------------------+
| | |
| qp_init | usually set as 33, if set at 0, mpp |
| | will estimate it by width,height... |
+----------------------------------------------------+
| | |
| qp_min/qp_| min/max value of qp |
| max | |
+----------------------------------------------------+
| | |
| qp_max_step The maximum range of QP differences |
| | between two frames |
+----------------------------------------------------+
| profile | 44 CAVLC 4:4:4 |
| | 66 Baseline |
| | 77 Main |
| | 88 Extended |
| | 100 High (suggest) |
+----------------------------------------------------+
| level | 10 Level 1.0 |
| | 99 Level 1.b |
| | 11 Level 1.1 |
| | 12 Level 1.2 |
| | 13 Level 1.3 |
| | 20 Level 2.0 |
| | 21 Level 2.1 |
| | 22 Level 2.2 |
| | 30 Level 3.0 |
| | 31 Level 3.1 |
| | 32 Level 3.2 |
| | 40 Level 4.0 |
| | 41 Level 4.1 |
| | 42 Level 4.2 |
| | 50 Level 5.0 |
| | 51 Level 5.1 |
+-----------+----------------------------------------+
| entroy_cod| entroy code mode 1:CAVLC |
| ing_mode | 0:CABAC |
+----------------------------------------------------+
| cabac_init| effect when entroy mode is CABAC |
| _idc | |
+-----------+----------------------------------------+</pre>
=== 1. CBR ===
In CBR mode, the bitrate of encoded data is controlled whtnin the configured maximum<br/> bit rate and the minimum bitrate range.
<pre>suggest param
+-----------+----------------------------------------+
| param | effect |
| | |
+----------------------------------------------------+
| | |
| rc_mode | MPP_ENC_RC_MODE_CBR |
+----------------------------------------------------+
| qp_init | 0(suggest, mpp internal will set it) |
| | 24(high bitrate) |
| | 32(medium bitrate) |
| | 40(low bitrate) |
+----------------------------------------------------+
| qp_min | suggest 0, mpp internal will set at 16 |
| | |
+----------------------------------------------------+
| qp_max | suggest 0, mpp internal will set at 48 |
| | |
+-----------+----------------------------------------+
| qp_max_step 16 |
+----------------------------------------------------+</pre>
=== 2. VBR ===
In VBR mode, mpp will try to keep the video quality stable and make the code rate of<br/> the encoded file fluctuate as much as possible within the given maximum and minimum<br/> bit rate ranges.
<pre>suggest param
+-----------+----------------------------------------+
| param | effect |
| | |
+----------------------------------------------------+
| rc_mode | MPP_ENC_RC_MODE_VBR |
+----------------------------------------------------+
| quality | worst(very low bitrate) |
| | worse(low bitrate) |
| | medium(medium bitrate) |
| | better(high bitrate) |
| | best(very high bitrate) |
| | CQP(const qp,rate control lose effect|
+----------------------------------------------------+
| qp_init | 0(suggest, mpp internal estimate) |
| | 24(high bitrate) |
| | 32(medium bitrate) |
| | 40(low bitrate) |
+----------------------------------------------------+
| qp_min | 0 |
+----------------------------------------------------+
| qp_max | 0 |
+-----------+----------------------------------------+
| qp_max_step 8, set at 0 when CQP |
+----------------------------------------------------+
</pre>
== Mpp Interface Use ==
1. MPP_RET Mpp::put_packet(MppPacket packet)<br/> Is packaged as mpi->put_packet, and for interact with internal packet list in decoder.
2. MPP_RET Mpp::get_frame(MppFrame *frame)<br/> Is packaged as mpi->get_frame, and for interact with internal frame list in decoder. you can<br/> call like this when decode.<br/> mpi->put_packet<br/> |<br/> mpi->get_frame
3. MPP_RET Mpp::put_frame(MppFrame frame)<br/> Is packaged as mpi->put_frame, and for interact with internal frame list in encoder.
4. MPP_RET Mpp::get_packet(MppPacket *packet)<br/> Is packaged as mpi->get_packet, and for interact eith internal packet list in encoder. you can<br/> call like this when encode.<br/> mpi->put_frame<br/> |<br/> mpi->get_packet
5. MPP_RET Mpp::poll(MppPortType type, MppPollType timeout)<br/> Is packaged as mpi->poll, poll usually used in task mode(advance mode). poll will check internal<br/> task list, if MPP_INPUT_PORT/MPP_OUTPUT_PORT is empty, poll will block util task list get node,<br/> else poll will return immediately.
about how does task modework, please see doc/design/4.mpp_task.txt
6. MPP_RET Mpp::dequeue(MppPortType type, MppTask *task)<br/> Is packaged as mpi->dequeue, will get a task with multiple data. when port is MPP_INPUT_PORT, get a<br/> task to set. when port is MPP_OUTPUT_PORT, get a task with encoded data.
7. MPP_RET Mpp::enqueue(MppPortType type, MppTask task)<br/> Is packaged as mpi->enqueue, will send a task to internal task list, so that list get a node. you<br/> can call like this when encode.<br/> mpi->poll(input, xx)<br/> |<br/> mpi->dequeue(input, xx)<br/> |<br/> mpi->enqueue(input, xx)<br/> |<br/> mpi->poll(output, xx)<br/> |<br/> mpi->dequeue(output, xx)<br/> |<br/> mpi->enqueue(output, xx)<br/> 8. MPP_RET Mpp::control(MpiCmd cmd, MppParam param)<br/> Is packaged as mpi->control, will change mpp param.
About how to use mpp encode/decode, please test/mpi_encode_test.c and test/mpi_decode_test.c
= Mpp Development Reference Manual =
[http://opensource.rock-chips.com/wiki_File:MPP_Development_Reference.pdf http://opensource.rock-chips.com/wiki_File:MPP_Development_Reference.pdf]
= Mpp Development Guide (CN) =
[http://opensource.rock-chips.com/wiki_File:MPP_开发参考_v0.3.pdf http://opensource.rock-chips.com/wiki_File:MPP_%E5%BC%80%E5%8F%91%E5%8F%82%E8%80%83_v0.3.pdf]
274aafa2f6dd069bce093b5c115c4f1549e3474e
RK3328
0
24
2230
2129
2022-03-23T01:38:57Z
Kever
2
wikitext
text/x-wiki
{{Infobox SoC
| title = RK3328
| image = [[File:rk3328_soc.png|250px]]
| manufacturer = Rockchip
| process = 28nm
| cpu = Quad-Core ARM Cortex-A53
| ltwo =
| extensions =
| memory = DDR3/DDR3L/LPDDR3/DDR4
| gpu = Mali-450MP4
| vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
| apu =
| video = HDMI 2.0a,
| audio = 8 channels I2S/PDM
| storage = 4x SD Card, eMMC
| usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host
| other =
| release_date = December 2016
| website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page
}}
= Overview =
RK3328 offers a high-integration and power efficiency SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR , 4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive high-resolution display and game.
== Cortex-A53 ==
Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.
[[File:3328.png|RTENOTITLE]]
= RK3328 SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**ARM Cortex-A53 Quad-Core
**32KB L1 I cache and D cache for each CPU
**256KB L2 cache
*Internal SRAM
**32KB total
*GPU
** Mali-450MP2
**Comply with Open GL ES1.1/2.0
*Multi-Media:
**4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps
**1080P other video decoders (VC-1, MPEG-1/2/4, VP8)
**1080P video encoder for H.264 and H.265
**Support HDR10 ,HLG HDR , Support conversion between SDR and HDR
*Display:
**HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2
**Support conversion between Rec.2020 and Rec.709
*Memory:
**LPDDR3/DDR3/DDR3L/DDR4
**eMMC 4.51,SDCard, SPI Flash
*External interface
**USB 2.0 x2 and USB 3.0 x1
**100M Ethernet w/ built-in PHY
**Built-in CVBS and audio DAC
**8 channels I2S IO and 8 chanel digital PDM input (for MIC array)
| style="width: 429px;" |
|}
= Documentation =
#[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf]
#[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf]
#[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]]
#[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]]
= Software =
See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide] setup LInux OS generally;
See [http://opensource.rock-chips.com/wiki_U-Boot U-Boot] guide to develop U-Boot;
See [http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel] to develop kernel;
See [http://opensource.rock-chips.com/wiki_Buildroot buildroot and] [http://opensource.rock-chips.com/wiki_Debian debian to] develop and rootfs.
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" class="table_style"
|-
! '''chip'''
! '''Kernel eMMC index'''
! '''Kernel SD index'''
! '''Uboot eMMC index'''
! '''Uboot SD index'''
! '''Baud speed'''
|-
| RK3328
| 2
| 0
| 0
| 1
| 1500000
|}
= References =
1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53]
0e4671904e04595562feb67848b7f69948460d75
File:RK3568 hardware reference 20220806.zip
6
247
2231
2022-10-13T07:32:39Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip RK3568 TRM Part1 V1.3-20220930P.PDF
6
249
2233
2022-10-13T07:34:38Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip RK3568 Datasheet V1.3-20220929P.PDF
6
250
2234
2022-10-13T07:37:39Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
RK3568
0
251
2237
2022-10-13T08:03:46Z
Admin
1
Created page with " {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3568 Soc.png|RTENOTITLE]] |} = Overview = = SoC Features =..."
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3568 Soc.png|RTENOTITLE]]
|}
= Overview =
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad-Core ARM Cortex-A55,up to 2.0GHz
*GPU:
** ARM G52 2EE
**Support OpenGL ES 1.1/2.0/3.2,OpenCL 2.0,Vulkan 1.1
**High performance dedicated 2D processor
*NPU:
**Support 1T
*Multi-Media:
** Support 4K 60fps H.265/H.264/VP9 decoder
**Support 1080P 60fps H.265/H.264 encoder
**Support 8M ISP with HDR
*Display:
**Support multi-display
**Support eDp/HDMI2.0/MIPI/LVDS/24bit RGB/EBC
*Interface:
**Support USB2.0/USB3.0/PCIE3.0/PCIE2.1/SATA3.0/QSGMII
|}
[[Category:Pages with broken file links]]
13feac64b07d8b37d4748cbfc6860640b00eff4c
2239
2237
2022-10-13T08:05:59Z
Admin
1
wikitext
text/x-wiki
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
|-
| [[File:RK3568 Soc.png|RTENOTITLE]]
|}
= Overview =
= SoC Features =
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
|-
| style="width: 530px;" |
*CPU:
**Quad-Core ARM Cortex-A55,up to 2.0GHz
*GPU:
** ARM G52 2EE
**Support OpenGL ES 1.1/2.0/3.2,OpenCL 2.0,Vulkan 1.1
**High performance dedicated 2D processor
*NPU:
**Support 1T
*Multi-Media:
** Support 4K 60fps H.265/H.264/VP9 decoder
**Support 1080P 60fps H.265/H.264 encoder
**Support 8M ISP with HDR
*Display:
**Support multi-display
**Support eDp/HDMI2.0/MIPI/LVDS/24bit RGB/EBC
*Interface:
**Support USB2.0/USB3.0/PCIE3.0/PCIE2.1/SATA3.0/QSGMII
|}
2ae9171456c417f54403130b74bf735111892635
File:RK3568 Soc.png
6
252
2238
2022-10-13T08:04:02Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Rockchip RK1808 TRM Part1 V1.21--20190826 open source.rar
6
253
2241
2023-02-24T01:48:58Z
Admin
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709